wsdl which wsdl style ?

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

Upload: afric

Post on 25-Jan-2016

47 views

Category:

Documents


2 download

DESCRIPTION

WSDL Which WSDL Style ?. 17 th October 2004. www.eu-egee.org. 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);. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: WSDL Which WSDL Style ?

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

WSDL

Which WSDL Style ?

17th October 2004

www.eu-egee.org

Page 2: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 2

Types of WSDL SOAP binding

• RPC/encoded

• RPC/literal

• Document/encoded

• Document/literal

Page 3: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 3

Java method example

public void myMethod (int x);

Page 4: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 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 ?

WSDL, 17th October 2004 - 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 ?

WSDL, 17th October 2004 - 6

Advantages/disadvantages

• Advantages Simple WSDL Operation name appears in the message

• Disadvantages Type encoding information overhead SOAP message cannot be validated except against WSDL

Page 7: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 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 ?

WSDL, 17th October 2004 - 8

SOAP message

<soap:envelope>

<soap:body>

<myMethod>

<x>value</x>

</myMethod>

</soap:body>

</soap:envelope>

Page 9: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 9

Advantages/Disadvantages

• Advantages WSDL is simple Operation name appears in the message Type encoding information is minimal

• Disadvantages Nearly all the definitions in WSDL so not independently validatable

Page 10: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 10

Document/encoded

• Not implemented !

Page 11: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 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 ?

WSDL, 17th October 2004 - 12

SOAP message

<soap:envelope>

<soap:body>

<xElement>value</xElement>

</soap:body>

</soap:envelope>

Page 13: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 13

Advantages/Disadvantages

• Advantages No type encoding information The body of the soap message is all defined in a schema and so

can be validated independently

• Disadvantages WSDL is more complicated Operation name is lost

Page 14: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 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 ?

WSDL, 17th October 2004 - 15

SOAP message

<soap:envelope>

<soap:body>

<myMethod>

<x>value<x>

</myMethod>

</soap:body>

</soap:envelope>

Page 16: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 16

Characteristics

• Input message has a single part

• Part is an element

• Element has the same name as the operation

• Element’s complex type has no attributes

Page 17: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 17

Advantages/disadvantages

• Advantages No type encoding information Soap body is defined in a schema – validation Method name in the soap message

• Disadvantages WSDL is complicated

• Generally this is the best style to use.

Page 18: WSDL Which WSDL Style ?

WSDL, 17th October 2004 - 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.