JBoss.org Community Documentation

5.8. Document/Literal

With document style web services two business partners agree on the exchange of complex business documents that are well defined in XML schema. For example, one party sends a document describing a purchase order, the other responds (immediately or later) with a document that describes the status of the purchase order. No need to agree on such low level details as operation names and their associated parameters. The payload of the SOAP message is an XML document that can be validated against XML schema. Document is defined by the style attribute on the SOAP binding.

<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>

With document style web services the payload of every message is defined by a complex type in XML schema.

<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'/>
	Therefore, message parts must refer to an element from the schema. 
	<message name='EndpointInterface_concat'>
	<part name='parameters' element='tns:concat'/>
	</message>
The following message definition is invalid. 
<message name='EndpointInterface_concat'>
	<part name='parameters' type='tns:concatType'/>
</message>