Issue 2: specifying protocol headers other than SOAPAction (was: SOAPAction)

A while ago, the WG decided to generalize the "soapAction" header 
mechanism to other protocol headers. I took a todo to provide the 
corresponding write up. Here is that write up.

Jean-Jacques.

---------------------

Summary

The "soapAction" attribute is used to specify the value of the 
"SOAPAction" HTTP header field. Two issues:

   1. SOAP 1.2 has replaced "SOAPAction" with the "action" parameter on
      the HTTP Content-Type header field.
   2. There is a desire from the WG to replaced the specific, ad-hoc
      "soapAction" attribute by a mechanims which works for other
      headers (and possibly other protocols).

Proposal

   1. Remove the "soapAction" attribute
   2. Introduce instead an <http:field> element to the HTTP binding.
   3. Introduce an equivalent <soap:field> element to the SOAP binding.
   4. Both elements would be direct descendents of the <input> and
      <output> elements.

Grammar

The grammar for <http:field> is as follows. The grammer for <soap:field> 
is equivalent

<http:field name="http-header-field-name"
            value="http-header-field-value"?>?
    <http:parameter name="parameter-name"
                    value="parameter-value"?>?
</http:field>
  

Description

When present in a WSDL description, the <http:field> and 
<http:parameter> indicate that the corresponding header field or 
parameter MUST be present in the inbound message or WILL be present in 
the outbound message (depending on whether they appear in <input> or 
<ouput>).

The "value" attribute for <http:field> or <http:parameter> MAY be 
omitted, indicating that it may not be known in advance. Example: 
Content-Length or a cipher. When a value is supplied, this value MUST be 
present in the inbound or outbound message.

Examples

<http:field name="X-MD5-Hash"/>


<soap:field name="Content-Type"
            value="application/soap+xml">
    <soap:field name="action"
                value="http://example.org/fishTheTrouts"/>
    <soap:field name="charset" value="utf-16"/>
</soap:field>
  

Variants

An alternative would be to combine the <http:field> and  <soap:field> 
element into a single <wsdl:field> element. Each binding would then 
indicate how this element would be interpreted.

 

Received on Thursday, 12 September 2002 11:16:17 UTC