<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>John Deringer</title>
	<atom:link href="http://johnderinger.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnderinger.wordpress.com</link>
	<description>Clarity in a Chaotic World</description>
	<lastBuildDate>Mon, 21 Mar 2011 01:11:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='johnderinger.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>John Deringer</title>
		<link>http://johnderinger.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://johnderinger.wordpress.com/osd.xml" title="John Deringer" />
	<atom:link rel='hub' href='http://johnderinger.wordpress.com/?pushpress=hub'/>
		<item>
		<title>WSDL Binding Styles</title>
		<link>http://johnderinger.wordpress.com/2009/10/25/wsdl-binding-styles/</link>
		<comments>http://johnderinger.wordpress.com/2009/10/25/wsdl-binding-styles/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 17:50:11 +0000</pubDate>
		<dc:creator>jdslo</dc:creator>
				<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://johnderinger.wordpress.com/?p=139</guid>
		<description><![CDATA[Contents Introduction Table Summary Example Java method RPC/encoded WSDL RPC/literal WSDL Document/literal WSDL Document/literal wrapped WSDL Further Information / Sources Introduction A WSDL document is a Web service interface. A WSDL binding describes how the service is bound to a messaging protocol, generally the SOAP messaging protocol. A WSDL SOAP binding can be either Remote [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnderinger.wordpress.com&amp;blog=1876793&amp;post=139&amp;subd=johnderinger&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana, sans-serif"></p>
<h2>Contents</h2>
<ol>
<li><a href="#Introduction" style="text-decoration:none;color:black;">Introduction</a></li>
<li><a href="#Table_Summary" style="text-decoration:none;color:black;">Table Summary</a></li>
<li><a href="#Example_Java_method" style="text-decoration:none;color:black;">Example Java method</a></li>
<li><a href="#RPC_encoded_WSDL" style="text-decoration:none;color:black;">RPC/encoded WSDL</a></li>
<li><a href="#RPC_literal_WSDL" style="text-decoration:none;color:black;">RPC/literal WSDL</a></li>
<li><a href="#Document_literal_WSDL" style="text-decoration:none;color:black;">Document/literal WSDL</a></li>
<li><a href="#Document_literal_wrapped_WSDL" style="text-decoration:none;color:black;">Document/literal wrapped WSDL</a></li>
<li><a href="#Further_Information" style="text-decoration:none;color:black;">Further Information / Sources</a></li>
</ol>
<p></font></p>
<h2><font face="Verdana, sans-serif"><a name="Introduction">Introduction</a></font></h2>
<p>
<font face="Verdana, sans-serif">A WSDL document is a Web service interface. A WSDL binding describes how the service is bound to a messaging protocol, generally the SOAP messaging protocol. A WSDL SOAP binding can be either Remote Procedure (RPC) style binding or a document style binding. A SOAP binding can also have an encoded or literal use.</font>
</p>
<p>
<font face="Verdana, sans-serif">The RPC style specifies that the &lt;soap:body&gt; contains an element with the name of the Web method being invoked. This element in turn contains an entry for each parameter and the return value of this method. RPC style more closely reflects the style used when defining a Java interface, which is generally a fine-grained operation.</font>
</p>
<p>
<font face="Verdana, sans-serif">With Document Style, the message parts appear directly under the &lt;soap:body&gt; element. There are no SOAP formatting rules for what the &lt;soap:body&gt; contains. The server application is responsible for mapping the server objects (parameters, method calls, and so forth) and the values of the XML documents.</font>
</p>
<p>
<font face="Verdana, sans-serif">Encoding use, each message part references an abstract type using the type attribute instead of a schema. Applications using SOAP encoding are focused on remote procedure calls and will likely use the RPC message style.</font>
</p>
<p>
<font face="Verdana, sans-serif">Literal use, each part references a concrete schema definition using either the element or type attribute; in other words, data is serialized according to a given schema.</font>
</p>
<p><h2><font face="Verdana, sans-serif"><a name="Table_Summary">Table Summary</a></font></h2>
</p>
<p>
<font face="Verdana, sans-serif"></p>
<table border="1" cellpadding="5">
<tr>
<td><strong>WSDL Style</strong></td>
<td><strong>Advantages</strong></td>
<td><strong>Disadvantages</strong></td>
</tr>
<tr valign="top">
<td><strong>RPC/encoded</strong></td>
<td>
<ul>
<li>Simple structure</li>
<li>Operation name appears in the message</li>
</ul>
</td>
<td>
<ul>
<li>Type encoding degrades throughput performance</li>
<li>Not WS-I compliant</li>
<li>Difficult to validate</li>
<li>Not WS-I compliant</li>
</ul>
</td>
</tr>
<tr valign="top">
<td><strong>RPC/literal</strong></td>
<td>
<ul>
<li>Simple structure</li>
<li>Operation name appears in the message</li>
<li>WS-I compliant</li>
</ul>
</td>
<td>
<ul>
<li>Difficult to validate</li>
</ul>
</td>
</tr>
<tr valign="top">
<td><strong>Document/literal</strong></td>
<td>
<ul>
<li>Can be validated</li>
</ul>
</td>
<td>
<ul>
<li>The operation name in the SOAP message is lost. Without the name, dispatching can be difficult, and sometimes impossible.</li>
<li>WS-I only allows one child of the soap:body in a SOAP message, which restricts message content.</li>
</ul>
</td>
</tr>
<tr valign="top">
<td><strong>Document/literal wrapped</strong></td>
<td>
<ul>
<li>Easiest binding to Java since the parameters are enclosed within a wrapper object</li>
<li>Easy to validate</li>
<li>Operation name in the SOAP message, easy to dispatch</li>
<li>WS-I compliant, meets the WS-I restriction that the SOAP message&#8217;s soap:body has only one child</li>
<li>De-facto standard for defining interoperable Web services</li>
<li>Encourages course-grain operations, because it passes XML documents, potentially reducing the number of service calls</li>
</ul>
</td>
<td>
<ul>
<li>WSDL slightly more complex</li>
<li>Messages somewhat more verbose</li>
</ul>
</td>
</tr>
</table>
<p></font>
</p>
<p>&nbsp;</p>
<p>
<font face="Verdana, sans-serif"><strong><a name="Example_Java_method">Example Java method</a> for use in our comparison.</strong></font><br />
<code><font size="+1">public void myMethod(int x, float y);</font></code>
</p>
<p>
<font face="Verdana, sans-serif"><br />
<h3><a name="RPC_encoded_WSDL"><strong>RPC/encoded WSDL</strong></a></h3>
<p></font><br />
<font face="Verdana, sans-serif">The complete method is specified in the WSDL file and in the SOAP body. This includes the sent parameters and the return values. The Encoded- USE indicates that the SOAP message will contain the encoded type information such as <code><font size="+1">xsi:type=&quot;xsd:int&quot;, xsi:type=&quot;xsd:string&quot;, xsi:type=&quot;xsd:double&quot;</font></code>.</font>
</p>
<p>
<font face="courier"><br />
&lt;message name=&quot;myMethodRequest&quot;&gt;<br />
&nbsp;&lt;part name=&quot;x&quot; type=&quot;xsd:int&quot;/&gt;<br />
&nbsp;&lt;part name=&quot;y&quot; type=&quot;xsd:float&quot;/&gt;<br />
&lt;/message&gt;<br />
</font>
</p>
<p>
<font face="courier"><br />
&lt;message name=&quot;empty&quot;/&gt;<br />
</font>
</p>
<p>
<font face="courier"><br />
&lt;portType name=&quot;PT&quot;&gt;<br />
&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&lt;input message=&quot;myMethodRequest&quot;/&gt;<br />
&nbsp;&nbsp;&lt;output message=&quot;empty&quot;/&gt;<br />
&nbsp;&lt;/operation&gt;<br />
&lt;/portType&gt;<br />
</font>
</p>
<p>
<font face="courier"><br />
&lt;binding name=&quot;MyBinding&quot; type=&quot;tns:PT&quot;&gt;<br />
&nbsp;&lt;soap:binding transport=&quot;http://schemas.xmlsoap.org/soap/http&quot; style=&quot;rpc&quot;/&gt;<br />
&nbsp;&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&lt;soap:operation soapAction=&quot;&quot;/&gt;<br />
&nbsp;&lt;input&gt;</p>
<p>&nbsp;&nbsp;&lt;soap:body encodingStyle=&quot;http://schemas.xmlsoap.org/soap/encoding/&quot; use=&quot;encoded&quot; namespace=&quot;urn:Foo&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&#46;&#46;&#46;<br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><strong>RPC/encoded SOAP message</strong></font><br />
<font face="courier"><br />
&lt;soap:envelope&gt;<br />
&nbsp;&lt;soap:body&gt;<br />
&nbsp;&nbsp;&lt;myMethod&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;x xsi:type=&quot;xsd:int&quot;&gt;5&lt;/x&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;y xsi:type=&quot;xsd:float&quot;&gt;5.0&lt;/y&gt;<br />
&nbsp;&nbsp;&lt;/myMethod&gt;<br />
&nbsp;&lt;/soap:body&gt;<br />
&lt;/soap:envelope&gt;
</p>
<p>&nbsp;</p>
<p>
<font face="Verdana, sans-serif"><strong>Strengths</strong></font></p>
<p>Simple structure.<br />
The operation name appears in the message, so the receiver has an easy time dispatching this message to the implementation of the operation.</p>
<p>
<font face="Verdana, sans-serif"><strong>Weaknesses</strong></font></p>
<p>The type encoding info (such as xsi:type=&quot;xsd:int&quot;) is usually just overhead which degrades throughput performance.<br />
You cannot easily validate this message since only the &lt;x &#46;&#46;&#46;&gt;5&lt;/x&gt; and &lt;y &#46;&#46;&#46;&gt;5.0&lt;/y&gt; lines contain values defined in a schema; the rest of the soap:body contents comes from WSDL definitions.<br />
Any changes to the interface would break the contract between the service and the client since there is a tight coupling between service provider and client.<br />
Although it is legal WSDL, RPC/encoded is not WS-I compliant.
</p>
<p>
<font face="Verdana, sans-serif"><br />
<h3><a name="RPC_literal_WSDL"><strong>RPC/literal WSDL</strong></a></h3>
<p></font><br />
The style will remain RPC but the WSDL will now have the &#8216;use&#8217; setting changed from &#8216;encoded&#8217; to &#8216;literal&#8217; in the soap:body. Which means the data is serialized according to the given schema.
</p>
<p>
<font face="courier"><br />
&lt;message name=&quot;myMethodRequest&quot;&gt;<br />
&nbsp;&lt;part name=&quot;x&quot; type=&quot;xsd:int&quot;/&gt;<br />
&nbsp;&lt;part name=&quot;y&quot; type=&quot;xsd:float&quot;/&gt;<br />
&lt;/message&gt;<br />
&lt;message name=&quot;empty&quot;/&gt;
</p>
<p>
<font face="courier"><br />
&lt;portType name=&quot;PT&quot;&gt;<br />
&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&lt;input message=&quot;myMethodRequest&quot;/&gt;<br />
&nbsp;&nbsp;&lt;output message=&quot;empty&quot;/&gt;<br />
&nbsp;&lt;/operation&gt;<br />
&lt;/portType&gt;
</p>
<p>
<font face="courier"><br />
&lt;binding name=&quot;MyBinding&quot; type=&quot;tns:PT&quot;&gt;<br />
&nbsp;&lt;soap:binding transport=&quot;http://schemas.xmlsoap.org/soap/http&quot; style=&quot;rpc&quot;/&gt;<br />
&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&lt;soap:operation soapAction=&quot;&quot;/&gt;<br />
&nbsp;&nbsp;&lt;input&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;soap:body use=&quot;literal&quot; namespace=&quot;urn:Foo&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#46;&#46;&#46;<br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><strong>RPC/literal SOAP message</strong></font><br />
<font face="courier"><br />
&lt;soap:envelope&gt;<br />
&nbsp;&lt;soap:body&gt;<br />
&nbsp;&nbsp;&lt;myMethod&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;x&gt;5&lt;/x&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;y&gt;5.0&lt;/y&gt;<br />
&nbsp;&nbsp;&lt;/myMethod&gt;<br />
&nbsp;&lt;/soap:body&gt;<br />
&lt;/soap:envelope&gt;<br />
</font>
</p>
<p>&nbsp;</p>
<p>
<font face="Verdana, sans-serif"><strong>Strengths</strong></p>
<p>The WSDL is still simple and straightforward.<br />
The operation name still appears in the message.<br />
The type encoding info is eliminated.<br />
RPC/literal is WS-I compliant.<br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><strong>Weaknesses</strong></p>
<p>You still cannot easily validate this message since only the 5 and 5.0 lines contain values defined in a schema; the rest of the soap:body contents comes from WSDL definitions.<br />
Document/literal WSDL<br />
Similar to RPC/literal, but types must now reference elements. Document literal encourages the use of courser-grained operations by packaging SOAP payloads within XML documents. Course-grained operations can reduce the number of messages being passed between provider and consumer.<br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><br />
<h3><a name="Document_literal_WSDL"><strong>Document/literal WSDL</strong></a></h3>
<p></font>
</p>
<p>
<font face="courier"><br />
&lt;types&gt;<br />
&nbsp;&lt;schema&gt;<br />
&nbsp;&nbsp;&lt;element name=&quot;xElement&quot; type=&quot;xsd:int&quot;/&gt;<br />
&nbsp;&nbsp;&lt;element name=&quot;yElement&quot; type=&quot;xsd:float&quot;/&gt;<br />
&nbsp;&lt;/schema&gt;<br />
&lt;/types&gt;</p>
<p>&lt;message name=&quot;myMethodRequest&quot;&gt;<br />
&nbsp;&lt;part name=&quot;x&quot; element=&quot;xElement&quot;/&gt;<br />
&nbsp;&lt;part name=&quot;y&quot; element=&quot;yElement&quot;/&gt;<br />
&lt;/message&gt;<br />
&lt;message name=&quot;empty&quot;/&gt;</p>
<p>&lt;portType name=&quot;PT&quot;&gt;<br />
&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&lt;input message=&quot;myMethodRequest&quot;/&gt;<br />
&nbsp;&nbsp;&lt;output message=&quot;empty&quot;/&gt;<br />
&nbsp;&lt;/operation&gt;<br />
&lt;/portType&gt;</p>
<p>&lt;binding name=&quot;MyBinding&quot; type=&quot;tns:PT&quot;&gt;<br />
&nbsp;&lt;soap:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&gt;<br />
&nbsp;&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;soap:body use=&quot;literal&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#46;&#46;&#46;<br />
</font></p>
<p>
<font face="Verdana, sans-serif"><strong>Document/literal SOAP message</strong></font><br />
<font face="courier"><br />
&lt;soap:envelope&gt;<br />
&nbsp;&lt;soap:body&gt;<br />
&nbsp;&nbsp;&lt;xElement&gt;5&lt;/xElement&gt;<br />
&nbsp;&nbsp;&lt;yElement&gt;5.0&lt;/yElement&gt;<br />
&nbsp;&lt;/soap:body&gt;<br />
&lt;/soap:envelope&gt;<br />
</font>
</p>
<p>&nbsp;</p>
<p>
<font face="Verdana, sans-serif"><strong>Strengths</strong></p>
<p>There is no type encoding info.<br />
You can finally validate this message with any XML validator. Everything within the soap:body is defined in a schema.<br />
Document/literal is WS-I compliant, but with restrictions
</p>
<p>
<font face="Verdana, sans-serif"><strong>Weaknesses</strong></p>
<p>The WSDL is getting a bit more complicated.<br />
The operation name in the SOAP message is lost. Without the name, dispatching can be difficult, and sometimes impossible.<br />
WS-I only allows one child of the soap:body in a SOAP message.<br />
Document/literal wrapped WSDL<br />
Most SOAP implementations now support the &quot;wrapped&quot; convention. .NET uses it by default (and it doesn&#8217;t support rpc/literal). All JAX-RPC compliant implementations must also support &quot;wrapped&quot;. The &quot;wrapped&quot; document-literal has become the de-facto standard for defining interoperable Web services.
</p>
<p>&nbsp;</p>
<p><h3><font face="Verdana, sans-serif"><a name="Document_literal_wrapped_WSDL"><strong>Document/literal wrapped WSDL</strong></a></font></h3>
</p>
<p>
<font face="courier"><br />
&lt;types&gt;<br />
&nbsp;&lt;schema&gt;<br />
&nbsp;&nbsp;&lt;element name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;complexType&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;sequence&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name=&quot;x&quot; type=&quot;xsd:int&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name=&quot;y&quot; type=&quot;xsd:float&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/sequence&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/complexType&gt;<br />
&nbsp;&nbsp;&lt;/element&gt;<br />
&nbsp;&nbsp;&lt;element name=&quot;myMethodResponse&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;complexType/&gt;<br />
&nbsp;&nbsp;&lt;/element&gt;<br />
&nbsp;&lt;/schema&gt;<br />
&lt;/types&gt;</p>
<p>&lt;message name=&quot;myMethodRequest&quot;&gt;<br />
&nbsp;&lt;part name=&quot;parameters&quot; element=&quot;myMethod&quot;/&gt;<br />
&lt;/message&gt;<br />
&lt;message name=&quot;empty&quot;&gt;<br />
&nbsp;&lt;part name=&quot;parameters&quot; element=&quot;myMethodResponse&quot;/&gt;<br />
&lt;/message&gt;</p>
<p>&lt;portType name=&quot;PT&quot;&gt;<br />
&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&lt;input message=&quot;myMethodRequest&quot;/&gt;<br />
&nbsp;&lt;output message=&quot;empty&quot;/&gt;<br />
&nbsp;&lt;/operation&gt;<br />
&lt;/portType&gt;</p>
<p>&lt;binding name=&quot;MyBinding&quot; type=&quot;tns:PT&quot;&gt;<br />
&nbsp;&lt;soap:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&gt;<br />
&nbsp;&nbsp;&lt;operation name=&quot;myMethod&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;soap:body use=&quot;literal&quot;/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#46;&#46;&#46;<br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><strong>Document/literal wrapped SOAP message</strong></font><br />
<font face="courier"><br />
&lt;soap:envelope&gt;<br />
&nbsp;&lt;soap:body&gt;<br />
&nbsp;&nbsp;&lt;myMethod&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;x&gt;5&lt;/x&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;y&gt;5.0&lt;/y&gt;<br />
&nbsp;&nbsp;&lt;/myMethod&gt;<br />
&nbsp;&lt;/soap:body&gt;<br />
&lt;/soap:envelope&gt;<br />
</font>
</p>
<p>&nbsp;</p>
<p>
<font face="Verdana, sans-serif"><strong>These are the basic characteristics of the document/literal wrapped pattern:</strong></p>
<ul>
<li>The input message has a single part.</li>
<li>The part is an element.</li>
<li>The element has the same name as the operation.</li>
<li>The element&#8217;s complex type has no attributes.</li>
</ul>
<p></P></p>
<p>
<font face="Verdana, sans-serif"><strong>Strengths</strong></p>
<p>There is no type encoding info.<br />
Everything that appears in the soap:body is defined by the schema, so you can easily validate this message.<br />
Once again, you have the method name in the SOAP message.<br />
Document/literal is WS-I compliant, and the wrapped pattern meets the WS-I restriction that the SOAP message&#8217;s soap:body has only one child.
</p>
<p>
<font face="Verdana, sans-serif"><strong>Weaknesses</strong></p>
<p>The WSDL is a bit more complicated.
</p>
<p>
<font face="Verdana, sans-serif"><strong>Rules for implementing Document/Literal Wrapped</strong></p>
<p>&quot;Wrapped&quot; is a form of document/literal, therefore it must follow all the rules defined for document/literal. When defining a document/literal service, there can be at most one body part in your input message and at most one body part in your output message. You do *not* define each method parameter as a separate part in the message definition. (The parameters are defined in the types section, instead.)<br />
Each part definition must reference an element (not a type) defined, imported, or included in the types section of the WSDL document. These element definitions are &#8220;wrapper&#8221; elements (hence the name of this convention). You define your input and output parameters as element structures within these wrapper elements.<br />
A wrapper element must be defined as a complex type that is a sequence of elements. Each child element in that sequence will be generated as a parameter in the service interface.<br />
The name of the input wrapper element must be the same as the operation name.<br />
The name of the output wrapper element should be (but doesn&#8217;t have to be) the operation name appended with &quot;Response&quot; (e.g., if the operation name is &quot;add&quot;, the output wrapper element should be called &quot;addResponse&quot;).<br />
In the binding definition, the soap:binding should specify style=&quot;document&quot; (although this is the default value, so the attribute may be omitted), and the soap:body definitions must specify use=&quot;literal&quot; and nothing else. You must not specify the namespace or encodingStyle attributes in the soap:body definition.<br />
</font>
</p>
<hr />
<p>
<font face="Verdana, sans-serif"><strong><a name="Further_Information">Further Information / Article source</a></strong></font>
</p>
<p>
<font face="Verdana, sans-serif"><br />
<a href="http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/" target="_blank">http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/</a><br />
</font>
</p>
<p>
<font face="Verdana, sans-serif"><br />
<a href="http://labs.icodeon.com/projects/spd/html/index.html" target="_blank">http://labs.icodeon.com/projects/spd/html/index.html</a><br />
</font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnderinger.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnderinger.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnderinger.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnderinger.wordpress.com&amp;blog=1876793&amp;post=139&amp;subd=johnderinger&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://johnderinger.wordpress.com/2009/10/25/wsdl-binding-styles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/583b1fa47574d9be394ef6543f5997f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jdslo</media:title>
		</media:content>
	</item>
	</channel>
</rss>
