Release Notes - SOAP4R

Last modified: March 30, 2001
Created: July 15, 2000


0. In this document...

このドキュメントは,SOAP4Rのリリースノートです. 本文書が含まれているリリースパッケージについての解説です.

本文書が対象としているSOAP4Rのバージョンは, SOAP4R/1.2.0 です.

  1. Changes
  2. Install
  3. Uninstall
  4. What is SOAP4R?
  5. Dependencies
  6. Restrictions
  7. History
  8. Author
  9. Copyright

1. Changes

SOAP-ml-JP のみなさんに御協力を頂いて, Apache-SOAPpocketSOAP/0.91SOAP::Lite for PerlSOAP/Perl/0.28 との接続テストを行なった結果を反映させました. SOAP/Perl/0.28以外とは順調に通信できてます.

2. Install

パッケージを取得し,展開・伸長してください. libディレクトリに含まれているファイルが,SOAP4Rのライブラリプログラム本体です. インストーラは用意されていませんので,lib下の各ファイルを適当なディレクトリにコピーし,includeして使ってください.

SOAP4Rのライブラリプログラムが動作するためには,redistディレクトリに含まれている,以下の再配布ライブラリプログラムも必要です. これらもライブラリ本体と一緒に適当なディレクトリにコピーしておいてください.

date3.rb
by ふなばさん(http://www.kt.rim.or.jp/~tadf/ruby.html
parsedate3.rb
by ふなばさん(http://www.kt.rim.or.jp/~tadf/ruby.html
http-access.rb
by 前橋さん(http://www.jin.gr.jp/~nahi/Ruby/ruby.shtml#http-access
uri.rb
by 越水さん(http://www02.so-net.ne.jp/~greentea/ruby/uri/

パッケージ中の各ファイルの解説です.

lib/
SOAP4Rのライブラリプログラム本体.
sample/
SOAP4Rを利用するサンプルプログラム.
sample/apacheClient.rb
SOAP-RPCクライアントのサンプルプログラム. IBMのSOAP for JavaもしくはApache SOAPの,stockquoteおよびaddressbookデモに接続する. 先にサーバ側のインストール & deployを済ませておくこと.
./sampleClient.rb http://localhsot:2020/ibm-soap/rpcrouter.jsp
などとして起動する.
sample/apacheServer.rb
SOAP-RPCサーバのサンプルプログラム. Apache-SOAPライクな,getQuoteやgetAddressFromNameインタフェイスが定義されています. インタフェイスだけで,機能はありません.
sample/RAA/*
SOAP-RPCクライアントのサンプルプログラムその2. www.ruby-lang.orgにあるRAAサーバに接続するプログラム群です.
  • soap4r.rb, soap4rApp.rb: SOAP4Rを使うRubyスクリプト
  • xmlrpc4r.rb: xmlrpc4r(RAAにあります)を使うRubyスクリプト
  • pocketSOAP.js: pocketSOAPを使うJScriptスクリプト
  • SOAP::Lite.pl: SOAP::Lite for Perlを使うPerlスクリプト
このサーバはテスト公開中なので,安定動作を期待しないでください.
redist/
各種再配布パッケージから,SOAP4Rで利用するファイル群. 利用させて頂いているみなさん,どうもありがとうございます.
redist/archive/
各種再配布パッケージそのもの. 各パッケージの著作権および各種隣接権については,各パッケージに記載されているものに従うこと.

3. Uninstall

インストール時に作成されたファイルを全部消してください.

4. What is SOAP4R?

SOAP4Rは, Simple Object Access Protocol (SOAP) 1.1 (W3C Note) をRubyから利用するためのライブラリプログラムです. SOAPについての詳細は, SOAP-ml-JP Home Page にあるリンク集, SOAP-ml-JP Links を御覧ください.

Restrictions を見るとわかると思いますが,今のところRPCに特化した機能のみ提供されています.

他実装との互換性の情報を募集しています. 「〜につないでみたが上手くいかない」「上手くいった」という情報がありましたら, お気軽に nakahiro@sarion.co.jp まで御連絡ください.可能な限り対応します.

5. Dependencies

SOAP4Rを利用するためには,以下のものが必要です.

6. Restrictions

SOAP4Rは SOAP 1.1 (W3C Note) 仕様をサポートすることを目的としていますが,現時点では以下に示す各種様々な制限があります. これらは全て,SOAP4Rの実装による制限です.

7. History

1.2.0 - March 30, 2001
SOAP-ml-JP のみなさんに御協力を頂いて, Apache-SOAPpocketSOAP/0.91SOAP::Lite for PerlSOAP/Perl/0.28 との接続テストを行なった結果を反映させました. SOAP/Perl/0.28以外とは順調に通信できてます.
  • href/idを使ったXMLをunmarshalできるようになりました (まだ参照をhref/idにmarshalすることはできません)
  • base64型をサポートしました.
  • SOAPTimeInstantをSOAPDateTimeに名称変更しました. XML Schema PRへの追従です.
  • SOAPStructは,同じアクセサを持つ複数の値を扱えるようになりました. SOAPStructとは別クラスにしたほうがよかったかも.
  • ルータは異なる名前空間に属するメソッド群を扱えるようになりました.
  • <Envelope>のような,非修飾な要素を許可するためのフラグが付きました. 単純にテキストを連結して送るだけのクライアントへの対応が楽になります.
  • Apache-SOAPで採用されているMapタイプをサポートしました. RubyのHashもこの型にbindするようにしました. (SOAP4R/1.1までは,Hashを独自形式にmarshalしてました. 1.1でmarshalされたXMLは,1.2でもHashにunmarshalすることができますが, 1.2では新形式にmarshalされるため,それを1.1でunmarshalすると,Hashではなく Structになってしまいます.1.2と1.1の非互換に注意してください)
  • 本来ならStructのサブクラスとしてunmarshalすべき型のうち, 'unknown:SOAPStruct'という名前の型を,内部クラスのSOAPStructとして unmarshalしてしまっていました.修正しました.
  • SOAPArrayとSOAPStructに,map!およびmembersメソッドを追加しました.
  • SOAPBodyにrequest,responseおよびfaultメソッドを追加しました.
  • 知らないヘッダ項目を見ると例外で落ちてしまっていました.無視するようにしました.
1.1.0 - March 23, 2001
結構たくさん変更しました.なひ用途でしかテストできてないので, 安定度は低いと思いますので御注意ください. 特に他SOAP実装とのinteroperabilityが不安です. 「〜につないでみたが上手くいかない」というレポートがありましたら, 是非なひ(nakahiro@sarion.co.jp)まで御連絡ください.可能な限り対応します.
  • RPCサーバとしての機能を追加しました.
  • RPCクライアント/サーバ機能の実装を,SOAP本体から分離しました.
  • RPCでRuby専用に使える型として,Date,Hashをサポートしました. (知らない型については,従来通り単なるStructになります)
  • TimeInstantとして,Timeではなく, ふなばさんのdate3.rbのDateを使うようにしました. また,parsedate2→parsedate3に移行してみました.
  • RPCサーバとしての機能を追加している最中に, SOAPArrayおよびSOAPStructのencoding/decodingのバグ(特に名前空間回り)を たくさん修正しました.
1.0.2 - November 11, 2000
若干古くなってきたので,細かいリフレッシュを行ないました.
  • ruby 1.6.x対応しました.
  • 対応するuri.rbのバージョンが3.54から4.22になりました.
  • サンプルがxml-soap/2.0に対応しました.
1.0.1 - July 27, 2000
SOAP/1.1の配列に対応しました. 実は対応してなかったんです...すいません. 制約 はまだたくさん残っていますので注意してください.
1.0.0 - July 17, 2000
これが最初のリリースです. 変更点もなにもありません. なら書くな.^^;

8. Author

Name
NAKAMURA, Hiroshi (aka NaHi or nakahiro)
E-mail
nakahiro@sarion.co.jp
URL
http://www.jin.gr.jp/~nahi/

本プログラムの著作権および各種隣接権について.GPL2です. 詳細は GNU GENERAL PUBLIC LICENSE Version 2, June 1991 を参照してください.

SOAP4R
Copyright © 2000, 2001 NAKAMURA, Hiroshi.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License(the file named `COPYING') for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.