Skip to content

WSDL style

October 5, 2009
tags: ,

Each style has a type of wsdl —> soap message formatting.The style has implication of how to translate a WSDL binding to a SOAP message.

5 Binding styles to choose from.

RPC – Has op name clearly defined. The xml schema validation of i/p and o/p is not there .

RPC : Encoded
WSDL: msg ; part name and type =”xsd:int”
portType operation, i/p , o/p
SOAP:

 <myMethod><x xsi:type="xsd:int">5</x><y xsi:type="xsd:float">5.0</y></myMethod>

RPC Literal

SOAP:
Wsdl: Same as encoded, difference in binding definition.
Soap: The xsd:int type declarations are removed. method name exists

<myMethod><x>5</x><y>5.0</y></myMethod>

Doc Encoded : Not ws-I supported.

Doc Literal Type definition of message parts

Wsdl:
<types><schema><element name="xElement" type="xsd:int"/> ETC...</types>

<message name="myMethodRequest"><part name="x" element="xElement"/>ETC..</message>

Soap: <xElement>5</xElement><yElement>5.0</yElement>Advantage:  Schema for the types can be defined. .. Limitation max one child and no OP name!.

Doc Literal/ Wrapped

WSDL :<schema><element name=”myMethod”><complexType><sequence><element name=”x” type=”xsd:int”/><element name=”y” type=”xsd:float”/></sequence></complexType></element> </schema>

<part name="parameters" element="myMethod"/>
SOAP:
<soap:body>     <myMethod> <x>5</x> <y>5.0</y> </myMethod></soap:body>

Name of the wrapper input element is the same as the name of the operation. This pattern is a sly way of putting the operation name back into the SOAP message.   Problem if we have overloaded methods.

Rpc encoded used for graphs as it has href attribute enabled. Not so for rpc-literal.

Notes from the site: https://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

Advertisements
No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: