Hippo2000 (2000/7/18)
SOAPモジュールのサブクラスのドキュメントなのです。対応しているSOAPのバージョンが1.0と最新の1.1とは互換性がありません。
必要な場合は自分で直しましょう!(^^;;
作者はKeith Brownさんです。メールで許可をいただきました。
なおSOAPモジュールには以下のサブクラスがあります。
| クラス名 | 説 明 |
|---|---|
| SOAP::Defs | 定数の定義 |
| SOAP::Envelope | SOAPストリームの作成 |
| SOAP::EnvelopeMaker | SOAP envelope の作成 |
| SOAP::GenericHashSerializer | Perlハッシュのための汎用シリアライザ(ドキュメントはほぼ空) |
| SOAP::GenericInputStream | SOAP::Parser 出力のためのデフォルトハンドラ |
| SOAP::GenericScalarSerializer | Perlスカラのための汎用シリアライザ(ドキュメントはほぼ空) |
| SOAP::OutputStream | SOAPフラグメントの出力 |
| SOAP::Packager | SOAP 内部ヘルパクラス |
| SOAP::Parser | SOAPドキュメントを解析する |
| SOAP::TypeMapper | Perl型をシリアライザ/デシリアライザ・クラスにマッピングする |
| SOAP::Transport::HTTP::Apache | SOAP mod_perl ハンドラ |
| SOAP::Transport::HTTP::CGI | 汎用SOAP CGI ハンドラ |
| SOAP::Transport::HTTP::Client | クライアント側のSOAP/PerlのHTTPサポート |
| SOAP::Transport::HTTP::Server | サーバ側のHTTP SOAP/Perlサポート |
SOAP - PerlでのSOAPクライアントとサーバのためのライブラリ
use SOAP; print "This is SOAP/Perl-$SOAP::VERSION\n";
SOAP/Perl はSimple Object Access Protocl (SOAP)への簡単で一貫性のあるアプリケーション・インターフェース(API)を提供するPerlモジュールの集まりです。
SOAPについてさらに調べるためには、FAQをご覧ください:<URL:http://www.develop.com/soap/soapfaq.htm>
このライブラリはSOAPクライアントとサーバを構築するためのツールを提供します。
ライブラリにはSOAPの高レベルでの使用のためのモジュールだけでなく、さらにちょっとしたカスタマイズが必要な場合での下位レベルためのモジュールが入っています。ライブラリはあなたができるように分解されています。
SOAP/PerlはPerlのオブジェクト指向機能を十分に使っています。これらのモジュールによって直接エクスポートされているサブルーチンはありません。
SOAP/PerlのこのバージョンではSOAP 1.0 仕様をサポートしています、これはIETFインターネット・ドラフトです。詳細については<URL:http://www.ietf.org> をご覧ください。
ライブラリの主な機能は以下の通りです:
SOAP::EnvelopeMaker はheaderオブジェクトの配列と1つのbodyオブジェクトを入力として取ります。(現在は、これらの"オブジェクト"は単なるPerlハッシュです、ゆくゆくはblessされたオブジェクト・リファレンスのサポートを加えるつもりです)、そしてXMLストリームを出力として生成します。
SOAP::Parser は文字列(またはファイル/ファイルハンドル)を入力として取り、内容をSOAP エンベロープ(envelope)として解析します。これは結果、headerオブジェクトの配列と1つのbody要素になります。
SOAPシリアライゼーション/デシリアライゼーションのコードをHTTPと一緒にするのを避けるため、ロード可能な転送も提供されています。転送アーキテクチャのドキュメントのために以下のモジュールをご覧ください:
SOAP::Transport::HTTP::Client SOAP::Transport::HTTP::Server SOAP::Transport::HTTP::Apache SOAP::Transport::HTTP::CGI
クライアント側の例についてはSOAP::EnvelopeMakerをご覧ください。SOAPリクエストのシリアライゼーション、HTTPをベースにした送信、応答の受信、応答のデシリアライゼーションについて示しています。
サーバ側の例についてはSOAP::Transport::HTTP::Apacheをご覧ください。やってきたHTTPリクエストをどのように、あなた自身のPerlクラスでのメソッド呼び出しにマップするかを示しています。
以下の表はこのライブラリによって提供されくクラスの概要です:
-- ここから始めるべき上位レベルクラス --
SOAP::EnvelopeMaker -- SOAPバーへオブジェクトをシリアル化
SOAP::Parser -- SOAPバーをオブジェクトへデシリアル化
SOAP::Transport -- 転送アーキテクチャの説明
SOAP::Transport::HTTP -- HTTP転送の説明
SOAP::Transport::HTTP::Client -- HTTPのクライアント側サポート。
libwww-perlを使用
SOAP::Transport::HTTP::Server -- HTTPのサーバ側サポート。
WebサーバAPIからは離されています
SOAP::Transport::HTTP::Apache -- Apache/mod_perl サポート
SOAP::Transport::HTTP::CGI -- Vanilla CGI サポート
-- シリアライゼーション・アーキテクチャ --
SOAP::Envelope -- SOAPシリアル化への下位レベルアクセス
SOAP::OutputStream -- SOAPシリアル化への下位レベルアクセスのための
SOAP::Envelopeと一緒に使われます
SOAP::Packager -- SOAP 1.0 パッケージの実装を助けます。
SOAP::Envelope と SOAP::OutputStreamによって使われます。
SOAP::GenericHashSerializer -- Perlハッシュ・リファレンスのための汎用シリアライザ
SOAP::GenericScalarSerializer -- Perlスカラのための汎用シリアライザ
-- デシリアライゼーション・アーキテクチャ --
SOAP::GenericInputStream.pm -- もしデシリアライゼーション・フレームワークを
独自のオブジェクトをシリアライズできるように拡張
することに興味があればご覧ください。
-- その他 --
SOAP::TypeMapper -- シリアライゼーション・アーキテクチャを対象とした
実験的な拡張
SOAP::Defs -- 他のモジュールによって使われる定数
すべてのモジュールにそれぞれが提供するインターフェースについての詳しい情報が入っています。
シリアル化フレームワークはまだ配列を扱っていません。そしてHTTPトランスポートはM-POSTを扱っていません。
(原文のまま)
Keith Brown is the original and current author of this work, but he worked very closely with Don Box in developing a common design and implementation architecture (Don was building a Java implementation side-by-side, and Keith and Don worked together in a kind of XP style of programming - it was fun). GopalK at Microsoft was tremendously helpful in ferreting out issues in the SOAP spec. Mike Abercrombie at DevelopMentor (where Keith and Don work) was very supportive of the effort as well. Thanks Mike!
(原文のまま)
Copyright 1999-2000, DevelopMentor. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
これの最新バージョンはCPANから利用できます:
http://www.develop.com/soap
このプログラムについて議論する一番よい場所はSOAPメーリングリストです:
http://discuss.develop.com/soap.html
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。