WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

7
WSDL 1.2 Binding WSDL 1.2 Binding Changes Changes Sanjiva Weerawarana Sanjiva Weerawarana WSDL WG F2F – July 2003 WSDL WG F2F – July 2003 Raleigh, NC Raleigh, NC

Transcript of WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

Page 1: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

WSDL 1.2 Binding WSDL 1.2 Binding ChangesChanges

WSDL 1.2 Binding WSDL 1.2 Binding ChangesChanges

Sanjiva WeerawaranaSanjiva WeerawaranaWSDL WG F2F – July 2003WSDL WG F2F – July 2003

Raleigh, NCRaleigh, NC

Page 2: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

Motivation• Without <message> we can make

WSDL 1.2 bindings dramatically simpler

Page 3: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

Overview• <binding>s in general• SOAP binding• HTTP binding

– @encodingStyle=rpc– General documents

Page 4: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

<wsdl:binding>• Drop @interface to make it more reusable

<binding name=“ncname”> binding details</binding>

• Allow <endpoint> to point to bindings or inline bindings:<service interface=“qname”> <endpoint name=“ncname” [bindings=“list-of-qnames”] inlined-bindings address-binding </endpoint></service>

Page 5: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

SOAP Binding• Define default SOAP binding rules

– @body goes into <soap:Body>– @headers goes into <soap:Header>

• Drop <wsoap:body>, <wsoap:header> is used to add a new header

• Need a default rule for @soapActionURI– Proposal = interfaceTNS#operation-name

• Note: No need to pay attention to @encodingStyle=rpc

Page 6: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

HTTP Binding• For @encodingStyle=rpc case

– If types are all simple, then can do HTTP GET/POST binding for content-type=form-url-encoded

• URL rewriting, POST body, …– Basically s!@part=“foo”!xpath:/foo!g

• For other cases– Natural text/xml binding with input/@body

as input payload and output/@body as output payload

Page 7: WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.

Example<definitions> <types> <xsd:schema> element-decls </xsd:schema> </types>

<interface> <operation name=ncname> <input element=e1/> <output element=e2/> </operation> </interface>

<binding name=ncname> binding-stuff </binding>

<service interface=ncname> <endpoint name=ncname bindings=list-of-

qnames> <soap:address url=“…”/> </endpoint> </service></definitions>