要在业务流程中通过传出的 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 类的详细信息,请参阅 在用户代码中构造消息。