Upload
bing
View
41
Download
0
Embed Size (px)
DESCRIPTION
WSDL 1.2 Binding Changes. Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC. Motivation. Without we can make WSDL 1.2 bindings dramatically simpler. Overview. s in general SOAP binding HTTP binding @encodingStyle=rpc General documents. . - PowerPoint PPT Presentation
Citation preview
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
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>• 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 presentservice/@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>
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
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
Example - Today<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 - Tomorrow<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>