Stylus Studio XML Editor

Table of contents

Appendices

3.3 Application data serialization as HTTP headers

Application data serialization as HTTP headers

Name[top]

Name

This feature-binding is identified with the URI 'http://www.w3.org/2004/08/wsdl/feature/AD-HTTP'

Features Implemented[top]

Features Implemented

This module implements the feature 'http://www.w3.org/2004/08/wsdl/feature/AD' (see [Application Data Feature]).

Operation[top]

Operation

This section specifies how to transmit "out of band" application data, defined in the Application Data Feature (see [Application Data Feature]) as HTTP headers.

If the property 'http://www.w3.org/2004/08/wsdl/feature/AD/data' has a value for a message to be serialized as an HTTP message, then each of the top-level child element information items indicates an element information item that MUST be turned into an HTTP header if possible.

Only element information items of type xs:string or xs:anyURI may be serialized. All complex data types are ignored. Attributes on data elements are ignored.

Each such element information item is serialized as follows:

  • The HTTP header name used is the element information item local name. The element information item local name MUST follow the field-name production rules as specified in section 4.2 of [RFC2616]; if not, the element information item MUST be ignored. If an HTTP header corresponding to the element information item local name is set by a mechanism other than the Application Data Feature (see [Application Data Feature]), such as the HTTP stack or another feature, then an error MUST be raised.

  • The HTTP header content is serialized from the element information item value in UTF-8. If this serialization is NOT possible, then the element information item MUST be ignored.

It is the responsibility of the receiving node to determine which, if any, HTTP headers will populate the 'http://www.w3.org/2004/08/wsdl/feature/AD/data' property. Typically this will be accomplished via some metadata, such as a {property constraint} specified in [WSDL-PART1], or out-of-band agreements. The content of each such HTTP header will be placed in a child element of the data property. Each child element information item is generated by using the HTTP header name as the element information item local name and the HTTP header value as the element information item value.

NOTE: 

The local name of the element information item which is the parent node of the element information items received, as well as the namespace of those element information items, are implementation-specific.