将 WCF 消息中的 SOAP 标头用于管道组件

可以用管道组件中的 WCF 适配器设置自定义 SOAP 标头。 结合使用上下文属性名称 、OutboundCustomHeaders 和目标命名空间 http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties。 使用 OutboundCustomHeaders 属性时,该属性必须具有 <headers> 元素作为根元素。 所有自定义 SOAP 标头都必须放在 headers> 元素中<。 如果自定义 SOAP 标头值为空字符串,则必须将 headers></headers> 或 <headers/> 分配给 <OutboundCustomHeaders 属性。 有关如何将 SOAP 标头用于 WCF 适配器的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=79960SDK 示例:将自定义 SOAP 标头与 WCF 适配器配合使用。

下面的代码示例为名为 OutboundCustomHeaders 的属性设置发送管道组件中的自定义 SOAP 标头:

public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
   try
      {
       string stringVar = "<headers>
             <Origination>Home</Origination>
             <Destination>Work</Destination>
          </headers>";
inmsg.Context.Write("OutboundCustomHeaders","http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties", stringVar);
      }
   catch (Exception ex)
      {
   throw new Exception("Pipeline component exception - " + ex.Message);
      }
return inmsg;
}

有关管道组件的详细信息,请参阅 开发自定义管道组件

注意

您不能设置 WCF 基础结构用于 Web Services 标准(例如 WS-Addressing、WS-Security 和 WS-AtomicTransaction)的标准 SOAP 标头。

另请参阅

在 WCF 消息中使用 SOAP 标头和业务流程SOAP 标头与已使用的 WCF 服务WCF 适配器属性架构和属性SOAP 标头与已发布的 WCF 服务