WSDL を使用して指定される標準的な SOAP メッセージ形式

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

業界標準の Web サービス記述言語 (WSDL: Web Services Description Language) は、XML ドキュメントのスキーマを定義し、それによって Web サービスを定義します。WSDL には主要な SOAP 書式設定のオプションが 2 つあります。オプションは両方とも、プライマリ WSDL 名前空間 (https://schemas.xmlsoap.org/wsdl/) ではなく、名前空間 (https://schemas.xmlsoap.org/wsdl/soap/) の XML 要素で定義されます。このセカンダリ名前空間は Web サービスを SOAP プロトコルにコミットします。

SOAP 書式設定のオプション

次の 2 つの書式設定オプションがあります。

  • Style: SOAP メッセージの Body 要素の子要素または孫要素に指定できます。これは、binding WSDL 要素 (通常) または operation 要素の style 属性として指定します。

  • Use: 1 つ下位のレベルに表示される Web サービス メソッドのパラメーターまたは戻り値に指定できます。これは、body 要素の use 属性として指定します。

SOAP 仕様の詳細については、W3C の Web サイト (http://www.w3.org/TR/SOAP) を参照してください。W3C の Web サイトでは、WSDL 仕様の詳細についても参照できます。

Style 属性に指定できる値

WSDL では、SOAP 本文全体の書式を設定する style 属性に次の 2 つの値を指定できます。

  • RPC: パラメーターまたは戻り値は、その親要素が SOAP Body 要素である親要素に自動的に配置されます。パラメーターまたは戻り値は、名前空間の修飾なしで表示されます。このスキームは、SOAP 1.1 仕様のセクション 7 に記述されています。style="rpc" と指定します。

    SOAP 要求では、SOAP Body の下の要素は、WSDL operation 要素に基づいて名前が付けられ、Web サービス メソッドに対応します。この要素内にある各要素はパラメーターを表し、それぞれのパラメーターに基づいて名前が付けられます。

    SOAP 応答の SOAP Body の下の要素の名前は、操作名に Response が追加されたものになります。戻り値を表す下位要素の名前では、操作名にサフィクスとして Return が付けられます。

  • Document: SOAP Body 要素の内容は、XML スキーマ定義で定義された XML 要素として WSDL で完全に指定されます。XML スキーマは、WSDL ドキュメントで指定されるか、このドキュメントにインポートされます。WSDL は、パラメーターと戻り値を認識せず、XML ドキュメントのみを処理します。開発者は (可能であれば Web サービス インフラストラクチャで)、パラメーターと戻り値を XML スキーマの要素と型に変換する方法を管理します。style="document" と指定します。

    最上位の XML 要素はメッセージ部分として指定されます。メッセージ部分は message 要素で定義され、XSD 要素宣言をポイントする part 要素です。WSDL 自体は複数の要素を禁止していませんが、通常、部分は 1 つしかないため、SOAP Body の内容は XML ドキュメントと一致します。

WSDL では、パラメーターと戻り値の書式を設定する use 属性に次の 2 つの値を指定できます。

  • Encoded: SOAP 1.1 仕様のセクション 5 に記載されている方法でデータが書式設定されます。SOAP エンコーディングでは、XML スキーマのサブセットを使い、XML ドキュメントとそれが表すデータをバインドします。また、ドキュメントで複数回表示される要素では参照も使用されます。use="encoded" と指定します。

  • Literal: WSDL ドキュメントで指定されるか、WSDL ドキュメントにインポートされた XML スキーマ定義に従って、リテラルとしてデータが書式設定されます。use="literal" と指定します。

参照

その他のリソース

SOAP メッセージの書式のカスタマイズ