A splat of all my blathering.

Thursday, May 27, 2004

Optional SOAP headers 

There is no way to specify if a header is optional or required within WSDL 1.1. The SOAP spec allows headers to be introduced to a SOAP message even when they are not declared in WSDL. For that reason, the WS-I Basic Profile 1.0 has chosen to interpret the presence of a header binding in the WSDL as always being required.

The following two sections from the WS-I Basic Profile 1.0 describe this

5.6.22 Required Headers

WSDL 1.1 does not clearly specify whether all soapbind:headers specified on the wsdl:input or wsdl:output elements of a wsdl:operation element in the SOAP binding section of a WSDL description must be included in the resultant SOAP messages when they are transmitted. The Profile makes all such headers mandatory, as there is no way in WSDL 1.1 to mark a header optional.

R2738 A MESSAGE MUST include all soapbind:headers specified on a wsdl:input or wsdl:output of a wsdl:operation of a wsdl:binding that describes it.

5.6.23 Allowing Undescribed Headers

Headers are SOAP's extensibility mechanism. Headers that are not defined in the WSDL description may need to be included in the SOAP messages for various reasons.

R2739 A MESSAGE MAY contain SOAP header blocks that are not described in the wsdl:binding that describes it.

R2753 A MESSAGE containing SOAP header blocks that are not described in the appropriate wsdl:binding MAY have the mustUnderstand attribute on such SOAP header blocks set to '1'.

Posted at 5/27/2004 11:17:00 AM |
Comments: Post a Comment

This page is powered by Blogger. Isn't yours?