1 / 8

WSDL 1.2 Binding Changes

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. Overview. <binding>s in general SOAP binding HTTP binding @encodingStyle=rpc General documents. <wsdl:binding>.

bing
Download Presentation

WSDL 1.2 Binding Changes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related