9.3. Document/Literal

ドキュメントスタイルの Web サービスでは、 2 者が XML スキーマで適切に定義される複雑なビジネス文書の交換に同意することになります。 たとえば、 ー方が発注書の記載があるドキュメントを送信し、 相手側がその発注書の状況を記載する文書で応答(即座または後に)します。 SOAP メッセージのペイロードは XML スキーマに対して認証可能な XML ドキュメントです。このドキュメントは SOAP バインディングのスタイル属性で定義されます。
<binding name='EndpointInterfaceBinding' type='tns:EndpointInterface'>
   <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>
   <operation name='concat'>
      <soap:operation soapAction=''/>
      <input>
         <soap:body use='literal'/>
      </input>
      <output>
         <soap:body use='literal'/>
      </output>
   </operation>
</binding>
ドキュメントスタイルの Web サービスでは、 各メッセージのペイロードは XML スキーマでの複合タイプで定義されます。
<complexType name='concatType'>
   <sequence>
      <element name='String_1' nillable='true' type='string'/>
      <element name='long_1' type='long'/>
   </sequence>
</complexType>
<element name='concat' type='tns:concatType'/>
そのため、メッセージの部分はスキーマからの要素を参照しなければなりません。
<message name='EndpointInterface_concat'>
   <part name='parameters' element='tns:concat'/>
</message>
次のメッセージ定義は無効となります。
<message name='EndpointInterface_concat'>
   <part name='parameters' type='tns:concatType'/>
</message>