使用 SOAP 标头发布 Web 服务

运行 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 服务

另请参阅

具有已发布 Web 服务的 SOAP 标头