例
以下の WSDL 例で、attch という 1 つの添付ファイルを使用した簡単な操作を示します。
<binding name="MyBinding" type="tns:abc" >
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="MyOperation">
<soap:operation soapAction=""/>
<input>
<mime:multipartRelated>
<mime:part>
<soap:body use="encoded" namespace="http://mynamespace"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding"/>
</mime:part>
<mime:part>
<mime:content part="attch" type="text/html"/>
</mime:part>
</mime:multipartRelated>
</input>
</operation>
</binding>
このタイプの WSDL 拡張については、以下のとおりです。
- 操作 (この例では MyOperation) の入力メッセージには、
part 属性 (この例では attch) が必要です。MyOperation には、
添付ファイル以外の入力部分を含めることもできます。
- バインディング入力には、
<soap:body> タグまたは <mime:multipartRelated> タグのいずれかがなくてはなりません (両方ではありません)。
- MIME メッセージの場合、
<soap:body> タグは <mime:part> タグ内にあります。バインディング入力には、
<soap:body> タグを含む <mime:part> タグが 1 つだけ必要で、
このタグには <mime:content> タグを含めることはできません。これは、<soap:body> タグでは、
コンテンツ・タイプ text/xml が前提となっているためです。
- MIME メッセージには、複数の添付ファイルを含めることができ、各添付ファイルは<mime:part> タグで記述されます。
- <soap:body> タグを含まない <mime:part> タグは、それぞれ、
添付ファイル自体を記述する <mime:content> タグを含みます。<mime:content> タグ内の
type 属性は、Web Services Invocation Framework (WSIF) によって検査または使用されることはありません。
この属性は、WSIF を使用するアプリケーションに対し添付ファイルの内容
を示すために提供されています。単一の <mime:part タグ内に複数の
<mime:content> タグがある場合、バックエンド・サービスが、
その <mime:part> タグ内の
<mime:content> タグのいずれかで指定された型の
単一添付ファイルがあると予期することを意味します。
- <soap:body> タグ内の parts="..." 属性 (オプション) には、
メッセージ内のすべての SOAP パートと
すべての MIME パートの名前が含まれていることが想定されます。