WSDL 1.2 Binding Changes - PowerPoint PPT Presentation

wsdl 1 2 binding changes n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
WSDL 1.2 Binding Changes PowerPoint Presentation
Download Presentation
WSDL 1.2 Binding Changes

play fullscreen
1 / 8
WSDL 1.2 Binding Changes
199 Views
Download Presentation
bing
Download Presentation

WSDL 1.2 Binding Changes

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Motivation • Without <message> we can make WSDL 1.2 bindings dramatically simpler

  3. Overview • <binding>s in general • SOAP binding • HTTP binding • @encodingStyle=rpc • General documents

  4. <wsdl:binding> • Make @interface optional to make binding more reusable <binding name=“ncname” [interface=“qname”] > binding details <operation name=“qname”> .. </operation> </binding> If any <operation> elements are present, then @interface MUST be present service/@interface MUST match deref(endpoint/@binding)/@interface • 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>

  5. SOAP Binding • Define default SOAP binding rules • @body goes into <soap:Body> • Each of @headers goes into <soap:Header> • Define new binding element for default rule for wsoap:operation/@soapActionURI • Proposal = interfaceTNS#operation-name • Drop <wsoap:body>, <wsoap:fault> • Change <wsoap:header>: add new header or add @role/@mustUnderstand • Drop @type, @namespace, @localname, @encodingStyle • Add @mustUnderstand?? • Retain <wsoap:headerFault>: update • Drop <soap:binding>: drop @protocol • Change <soap:address>: add @protocol • Cool feature: No need to pay attention to /definitions/interface/operation/@encodingStyle=rpc

  6. 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

  7. <definitions> <types> <xsd:schema> element-decls </xsd:schema> </types> <interface> <operation name=ncname> <input element=e1/> <output element=e2/> </operation> </interface> <binding name=ncname interface=qname> <soap:binding transport=http/> </binding> <service interface=ncname> <endpoint name=ncname binding=qname> <soap:address location=“…”/> </endpoint> </service> </definitions> Example - Today

  8. <definitions> <types> <xsd:schema> element-decls </xsd:schema> </types> <interface> <operation name=ncname> <input element=e1/> <output element=e2/> </operation> </interface> <binding name=foo> <soap:binding/> </binding> <service interface=ncname> <endpoint name=ncname binding=“x:foo”> <soap:address protocol=“..” location=“…”/> </endpoint> </service> </definitions> Example - Tomorrow