在使用编配的 WCF 消息中使用 SOAP 标头

要在业务流程中通过传出的 WCF 消息发送自定义 SOAP 标头,请使用上下文属性 WCF.OutboundCustomHeaders。 WCF 适配器将自定义 SOAP 标头与 WCF 基础结构用于 Web 服务标准(如 WS-Addressing、WS-Security 和 WS-AtomicTransaction)的标准 SOAP 标头结合。 使用 OutboundCustomHeaders 属性时,该属性必须将 <标头> 元素作为根元素。 所有自定义 SOAP 标头都必须放在<标头>元素内。 如果自定义 SOAP 标头值为空字符串,则必须将<标头></标头>或<标头/>分配给OutboundCustomHeaders属性。

对于编排,SOAP 标头上下文属性被设置为包含 XML 数据的字符串。 通过 BizTalk 表达式编辑器在 消息分配表达形状 中设置这些字符串。 有关如何将 SOAP 标头与 WCF 适配器配合使用的详细信息,请参阅 SDK 示例,在 WCF 适配器 https://go.microsoft.com/fwlink/?LinkId=79960中使用自定义 SOAP 标头。

以下示例(来自消息赋值或表达式形状)显示了用于设置上下文属性的字符串:

outboundMessageInstance(WCF.OutboundCustomHeaders) = "<headers><Origination>Home</Origination><Destination>Work</Destination></headers>"

创建 XmlDocument 以设置上下文属性

可以设置 WCF。OutboundCustomHeaders 上下文属性通过创建 XmlDocument 并将 XmlDocument 的字符串值写入上下文属性。 声明 XMLDocument 类型的变量并分配 XML 数据。

以下示例演示如何声明 XMLDocument 类型的变量并分配 XML 数据:

xmlDoc.LoadXml("<headers><Origination>Home</Origination><Destination>Work</Destination></headers>");

以下示例演示如何设置上下文属性:

RequestMessageInstance(WCF.OutboundCustomHeaders) = xmlDoc.OuterXml;

有关使用 BizTalk 表达式编辑器的详细信息,请参阅 表达式的要求和限制。 有关调用 .NET 类的详细信息,请参阅 在用户代码中构造消息

另请参阅

WCF 适配器属性架构和属性已消费的 WCF 服务的 SOAP 标头已发布的 WCF 服务的 SOAP 标头