WSDL Which WSDL Style ?

18
EGEE is a project funded by the European Union under contract IST-2003-508833 WSDL Which WSDL Style ? www.eu-egee.org

description

www.eu-egee.org. WSDL Which WSDL Style ?. EGEE is a project funded by the European Union under contract IST-2003-508833. Types of WSDL SOAP binding. RPC/encoded RPC/literal Document/encoded Document/literal. Java method example. public void myMethod (int x);. RPC/Encoded WSDL. - PowerPoint PPT Presentation

Transcript of WSDL Which WSDL Style ?

Page 1: WSDL Which WSDL Style ?

EGEE is a project funded by the European Union under contract IST-2003-508833

WSDL

Which WSDL Style ?www.eu-egee.org

Page 2: WSDL Which WSDL Style ?

Talk title date 2

Types of WSDL SOAP binding

RPC/encoded

RPC/literal

Document/encoded

Document/literal

Page 3: WSDL Which WSDL Style ?

Talk title date 3

Java method example

public void myMethod (int x);

Page 4: WSDL Which WSDL Style ?

Talk title date 4

RPC/Encoded WSDL<message name=“myMethodRequest”>

<part name=“x” type=“xsd:int”/></message>

<message name=“empty”/>

<portType name=“PT”><operation name=“myMethod”><input message=“myMethodRequest”/><output message=“empty”/></operation>

</portType>

Binding is RPC/encoded

Page 5: WSDL Which WSDL Style ?

Talk title date 5

SOAP message

<soap:envelope><soap:body>

<myMethod><x

xsi:type=“xsd:int”>value</x></myMethod>

</soap:body></soap:envelope>

Page 6: WSDL Which WSDL Style ?

Talk title date 6

Advantages/disadvantages

AdvantagesSimple WSDLOperation name appears in the message

DisadvantagesType encoding information overheadSOAP message cannot be validated except against WSDL

Page 7: WSDL Which WSDL Style ?

Talk title date 7

RPC/Literal WSDL<message name=“myMethodRequest”>

<part name=“x” type=“xsd:int”/></message><message name=“empty”/>

<portType name=“PT”><operation name=“myMethod”>

<input message=“myMethodRequest”/><output message=“empty”/>

</operation></portType>

Binding is RPC/literal

Page 8: WSDL Which WSDL Style ?

Talk title date 8

SOAP message

<soap:envelope><soap:body>

<myMethod><x>value</x>

</myMethod></soap:body>

</soap:envelope>

Page 9: WSDL Which WSDL Style ?

Talk title date 9

Advantages/Disadvantages

AdvantagesWSDL is simpleOperation name appears in the messageType encoding information is minimal

DisadvantagesNearly all the definitions in WSDL so not independently validatable

Page 10: WSDL Which WSDL Style ?

Talk title date 10

Document/encoded

Not implemented !

Page 11: WSDL Which WSDL Style ?

Talk title date 11

Document/literal WSDL<types>

<schema><element name=“xElement” type=“xsd:int”/>

</schema></types>

<message name=“myMethodRequest”><part name=“x” element=“xElement”/>

</message><message name=“empty”/>

<portType name=“PT”><operation name=“myMethod”>

<input message=“myMethodRequest”/><output message=“empty”/>

</operation></portType>

Page 12: WSDL Which WSDL Style ?

Talk title date 12

SOAP message

<soap:envelope><soap:body>

<xElement>value</xElement></soap:body>

</soap:envelope>

Page 13: WSDL Which WSDL Style ?

Talk title date 13

Advantages/Disadvantages

AdvantagesNo type encoding informationThe body of the soap message is all defined in a schema and so can be validated independently

DisadvantagesWSDL is more complicatedOperation name is lost

Page 14: WSDL Which WSDL Style ?

Talk title date 14

Document/wrapped WSDL<types>

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

<types><message name=“myMethodRequest”>

<part name=“parameters” element=“myMethod”/></message><message name=“empty”/>

<portType name=“PT”><operation name=“myMethod”><input message=“myMethodRequest”/><output message=“empty”/></operation>

</portType>

WSDL schema has a wrapper around the parameters

Page 15: WSDL Which WSDL Style ?

Talk title date 15

SOAP message

<soap:envelope><soap:body>

<myMethod><x>value<x>

</myMethod></soap:body>

</soap:envelope>

Page 16: WSDL Which WSDL Style ?

Talk title date 16

Characteristics

Input message has a single partPart is an elementElement has the same name as the operationElement’s complex type has no attributes

Page 17: WSDL Which WSDL Style ?

Talk title date 17

Advantages/disadvantagesAdvantages

No type encoding informationSoap body is defined in a schema – validationMethod name in the soap message

DisadvantagesWSDL is complicated

Generally this is the best style to use.

Page 18: WSDL Which WSDL Style ?

Talk title date 18

When not to use document/wrapped

Document literal wrapped style does not allow for overloading

Cannot have two elements with the same name in XML (element has to have same name as operation)

In this case you may wish to use RPC/literal so that the operation name is available.