通过业务流程使用 WCF 消息中的 SOAP 标头
若要在业务流程中使用传出 WCF 消息发送自定义 SOAP 标头,请使用上下文属性 WCF。OutboundCustomHeaders。 WCF 适配器将自定义 SOAP 标头与 WCF 基础结构用于 Web 服务标准(如 WS-Addressing、WS-Security 和 WS-AtomicTransaction)的标准 SOAP 标头合并在一起进行发送。 使用 OutboundCustomHeaders 属性时,该属性必须具有 <headers> 元素作为根元素。 所有自定义 SOAP 标头都必须放在 headers> 元素中<。 如果自定义 SOAP 标头值为空字符串,则必须将 headers></headers> 或 <headers/> 分配给 <OutboundCustomHeaders 属性。
对于业务流程,SOAP 标头上下文属性均设置为包含 XML 数据的字符串。 可以通过在 消息分配 或表达式形状中使用 BizTalk 表达式 编辑器来设置这些字符串。 有关如何将 SOAP 标头用于 WCF 适配器的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=79960SDK 示例:将自定义 SOAP 标头与 WCF 适配器配合使用。
下面的示例(来自消息赋值或表达式形状)显示了用于设置上下文属性的字符串:
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 类的详细信息,请参阅 在用户代码中构造消息。