HTTP Properties in WSDL

Here's a first cut at describing a subset of the interesting required HTTP properties.

HTTP Properties in Bindings

How the HTTP Properties extend WSDL

http:AuthenticationType="basic|digest"
http:AuthenticationRealm
http:Cookies="xsd:boolean"

The OPTIONAL Authentication attribute indicates that HTTP Authentication will be used, and the type that will be used.
The OPTIONAL Realm attribute indicates the HTTP realm that will be used.  The Realm attribute MUST not be specified if the AuthenticationType attribute is not specified.
The OPTIONAL Cookies attribute indicates that the Operation output may contain HTTP cookie control (ie set cookie) headers.  The output receiver is expected to obey the HTTP State Management specification in handling cookie control.

The attributes may be attributes on the binding element.  They set the default for contained binding operations.

The attributes may be attributes on the binding operation elements.  They over-ride any of the equivalent attributes in the binding elements.

When these are attributes of a binding element, the binding element must EITHER be the HTTP:binding, or be a wsoap:binding element with a protocol that is compatible with HTTP. 

Example HTTP Binding

  <binding>
    <http:binding methodDefault="xsd:string"? http:Authentication="basic"/>
    <operation>
      <http:operation location="xsd:anyURI"?
	  method="xsd:string"?
	  separator="xsd:string"?
        http:Authentication="digest"
	  http:Cookies="true"
    </operation>

Example SOAP Binding

<binding name="xs:NCName" interface="xs:QName"? >
    <documentation />?

    <wsoap:binding protocol="xs:anyURI" http:Cookies="true"/>

    <operation ref="xs:QName" >

      <wsoap:operation mep="xs:anyURI"?
                       webMethod="xs:string"? 
                       action="xs:anyURI"? 
                       mediaType="xs:string"?
                       http:Authentication="basic"?>?

      <input messageLabel="xs:NCName"? >
        <documentation />?
        <wsoap:header element="xs:QName" 
                      mustUnderstand="xs:boolean"?
                      role="xs:anyURI"?
                      relay="xs:boolean"? 
                      reinsert="xs:boolean"? />*
      </input>*

      <output messageLabel="xs:NCName"? >
        <documentation />?
        <wsoap:header ... />*
      </output>*

Cheers,
Dave

Received on Tuesday, 11 May 2004 21:30:41 UTC