10.13.3 SOAPのバージョン選択(実行時)
Webサービス,およびWebサービスクライアント実行時のSOAPのバージョン選択方法について説明します。
- 〈この項の構成〉
(1) Webサービスの場合
Webサービス実装クラスおよびプロバイダ実装クラスは,開発時の選択に基づいて,SOAP 1.1仕様またはSOAP 1.2仕様のどちらか専用となります。そのため,受信できるメッセージは,SOAP 1.1仕様またはSOAP 1.2仕様のどちらかです。両方のバージョンのSOAPに対応するメッセージを受信したい場合は,複数のWebサービス実装クラスまたはプロバイダ実装クラスを定義・実装する必要があります。
(2) Webサービスクライアントの場合
スタブベースのWebサービスクライアントは,SOAP 1.1仕様またはSOAP 1.2仕様のどちらかのメッセージを送信します。開発時の誤りで次のどちらかの状態になった場合,SOAPのバージョンが一致しないSOAPメッセージを送信することになり,Webサービス側でエラーが発生します。
-
WebサービスがSOAP 1.2仕様のバインディングの場合にSOAP 1.1仕様用のスタブを生成している
-
WebサービスがSOAP 1.1仕様のバインディングの場合にSOAP 1.2仕様用のスタブを生成している
ディスパッチベースやAPIベースのWebサービスクライアントでは,SOAPのバージョンをAPIで指定します。指定値を設定ファイルで変更できるようにするなど,実装方法によってはどちらのSOAPのバージョンのメッセージを送信するかを動的に変更できます。