使用管道组件访问 WCF 消息中的 SOAP 标头
若要使用管道组件中的 WCF 适配器访问 SOAP 标头,请使用上下文属性名称、 InboundHeaders 和目标命名空间 http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties
的组合。 WCF 适配器将入站消息中的自定义 SOAP 标头和标准 SOAP 标头复制到 InboundHeaders 属性。 使用 WCF 适配器,您还可以以编程方式选择要以编程方式升级或写入至上下文属性的属性。 有关更多详细信息 ,请参阅 SOAP 标头和已发布的 WCF 服务 。
上下文属性中包含的值是一个字符串,其中包含具有标头>根元素的 < XML 数据,传入的 SOAP 标头将复制为 headers> 元素的<子元素。 有关如何使用 WCF 适配器访问 SOAP 标头的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=79960SDK 示例“将自定义 SOAP 标头与 WCF 适配器配合使用”。
自定义管道组件的以下代码获取 InboundHeaders 属性的接收管道组件中的请求 SOAP 标头:
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
try
{
string stringVar = inmsg.Context.Read("InboundHeaders", "http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties").ToString();
}
catch (Exception ex)
{
throw new Exception("Pipeline component exception - " + ex.Message);
}
return inmsg;
}
有关管道组件的详细信息,请参阅 开发自定义管道组件。