8
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

WSDL 1.2 Binding Changes

  • 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

Page 1: WSDL 1.2 Binding Changes

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

Motivation• Without <message> we can make

WSDL 1.2 bindings dramatically simpler

Page 3: WSDL 1.2 Binding Changes

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

– @encodingStyle=rpc– General documents

Page 4: WSDL 1.2 Binding Changes

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

Page 5: WSDL 1.2 Binding Changes

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

Page 6: WSDL 1.2 Binding Changes

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

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>

Page 8: WSDL 1.2 Binding Changes

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>