运行 BizTalk Web 服务发布向导时,将 SOAP 标头添加到 Web 服务。 发布支持 SOAP 标头的 Web 服务时,业务流程和管道组件可以使用标头作为包含 SOAP 标头字符串表示形式的上下文属性。
定义的 SOAP 标头
使用向导添加定义的 SOAP 标头时,向导会创建一个上下文属性,该属性的名称对应于 SOAP 标头的根元素。 所有定义的 SOAP 标头上下文属性都具有命名空间 http://schemas.microsoft.com/BizTalk/2003/SOAPHeader
。 当 SOAP 适配器将 SOAP 请求转换为 BizTalk 消息时,它会创建一个 SOAP 标头上下文属性。
以下示例演示了一个简单的 SOAP 请求:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<OrigDest xmlns="http://SOAPHeaderWS.ItemAvailability">
<Origination>Work</Origination>
<Destination>Home</Destination>
</OrigDest>
</soap:Header>
<soap:Body>
</soap:Body>
</soap:Envelope>
对于简单的 SOAP 请求,SOAP 适配器使用一个 SOAP 标头上下文属性 OrigDest 和字符串创建了 BizTalk 消息。
以下示例显示了 SOAP 适配器创建的字符串:
"<?xml version="1.0" encoding="utf-16"?><OrigDest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://SOAPHeaderSchemas.OrigDestSOAPHeader"><Origination xmlns="">Home</Origination><Destination xmlns="">Work</Destination> </OrigDest>"
未知 SOAP 标头
如果选择在向导中支持未知 SOAP 标头,向导将创建名为 UnknownHeaders 和命名空间 http://schemas.microsoft.com/BizTalk/2003/soap-properties
的上下文属性。
UnknownHeaders 上下文属性包含所有收到的未知 SOAP 标头。
例如,如果收到具有根元素名称 CustomerGroup 的未知 SOAP 标头, 则 UnknownHeaders 上下文属性包含字符串:
"<?xml version="1.0" encoding="utf-16"?><UnknownHeaders><CustomerGroup xmlns="http://SOAPHeaderWS/CustomerGroup"><Id xmlns="">My Customer</Id>
</CustomerGroup></UnknownHeaders>"
有关添加定义的 SOAP 标头或支持未知 SOAP 标头的详细信息,请参阅 将业务流程发布为 Web 服务。 另请参阅 将架构发布为 Web 服务。