Web Services changing to doc/literal what does it mean for clients
Our web services are changing from RPC-literal WSDL to a DOC-literal WSDL what do clients of our services have to complete?
I assume that the client have to recompile with the new DOC-literal binding so that the correct client code gets built? Is this a correct assumption.
Or does the client just have to invoke the new Services client stubs that would be provided? (I.e., just replace the Service A JAR file with the new one and everything required happens at run-time?)
# 1
To be safe I would rebuild the clients. However, if your WSDLs are not very complex and you are careful, I believe you can create a doc/lit WSDL that an rpc/lit built client can invoke.
The trick is that in rpc/lit there is an implied wrapper element names after the operation name so you need to create a global element for each rpc/lit operation input and output that the doc/lit input and output messages will use. The child elements in these global elements should be the parts of the rpc/lit input/output messages with the name being the part name and the type the part type.
For example, given the following rpc/lit message and operation:
<message name="myMethodRequest">
<part name="x" type="xsd:int"/>
<part name="y" type="xsd:float"/%gt;
></message>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty"/>
</operation>
</portType>
you would need to create an element similar to the following.
<element name="myMethod>
<complexType>
<sequence>
<element name="x" type="xsd:int"/>
<element name="y" type="xsd:float"/>
</sequence>
</complexType>
</element>
and the message would be
<message name="myMethodRequest">
<part name="parameters" element="myMethod"/>
</message>