编写用于出站方解析的 AS2 上下文属性

可以通过使用 AS2To 上下文属性或 Http.UserHttpHeaders 上下文属性中的 AS2To 属性来执行出站 AS2 消息的协议解析。 但是,BizTalk Server 在收到 AS2 消息时不会将 AS2To 属性写入上下文。 如果要对 AS2To 或 UserHttpHeaders 上下文属性执行协议解析,则必须编写自定义业务流程或自定义管道组件才能执行此作。 仅当发送端口未链接到协议时,才需要这样做。

在自定义编排中,可以使用以下代码将 AS2-To 追加到现有 Http.UserHttpHeaders 上下文属性的开头:

Message_1(Http.UserHttpHeaders) = “AS2-To: MyPartner\r\n” + Message_1(Http.UserHttpHeaders);  

在自定义管道组件中,可以使用以下代码将 AS2-To 追加到现有 Http.UserHttpHeaders 上下文属性的开头。 在 As2Encoder 组件处理消息之前,需要将 AS2-To 追加到 Http.UserHttpHeaders 上下文属性。

string strName="UserHttpHeaders";  
string strValue = "AS2-To: MyPartner\r\n" + (string)baseMessage.Context.Read(strName, "http://schemas.microsoft.com/BizTalk/2003/http-properties");  
baseMessage.Context.Write(strName, "http://schemas.microsoft.com/BizTalk/2003/http-properties", strValue);  

有关将 EDIIntAS.AS2To 属性或 BTS.UseHttpHeaders 属性提升到上下文的详细信息,请参阅通过 FILE 发送端口发送 AS2 消息中的“提升 AS2 标头上下文属性”。

对于可以添加到自定义管道组件中的代码,以便将 HTTP.UserHttpHeaders 上下文属性中的标头写入消息,请参阅 通过 FILE 发送端口发送 AS2 消息

另请参阅

开发和配置 BizTalk Server AS2 解决方案