Additional SOAP Namespaces Referenced In WSE 2.0 SOAP Headers

类别:.NET开发 点击:0 评论:0 推荐:
One of the requirements for working with WSE 2.0 is that you must (manually) change the SOAP client's Web reference proxy class' base class from the default - System.Web.Services.Protocols.SoapHttpClientProtocol - to a new class named Microsoft.Web.Services2.WebServicesClientProtocol. This change affects the look of the request SOAP packets in various ways, and the first way is in the referencing of the XML namespaces available for use in the envelope.

Without WSE 2.0, three XML namespaces are referenced in the SOAP packets generated by the standard SOAP proxy:

<soap:Envelope xmlns:soap="" xmlns:xsi="" xmlns:xsd="">

With WSE 2.0, and with the related proxy base class change, an additional three XML namespaces are referenced in the SOAP packets generated by the SOAP proxy:

<soap:Envelope xmlns:soap="" xmlns:xsi="" xmlns:xsd="" xmlns:wsa="" xmlns:wsse="" xmlns:wsu="">

The wsa namespace supports the WS-Addressing specification, available here (among other places). The wsse namespace supports the WS-Security specifciation, available here (among other places), and the wsu namespace contains support for WS-Security utility needs such as fault codes, global attributes, utility types and timestamp header components.

I'll be looking at each of these specifications in more detail as I analyze the use of these namespaces in the SOAP headers and bodies, but the moral of this story is that simply changing the proxy to use the WSE 2.0 base class adds namespace support for WS-Addressing and WS-Security.

posted on Monday, August 09, 2004 2:18 PM