不合格服务的BizTalk WCF适配器

不合格服务的BizTalk WCF适配器,biztalk,biztalk-2010,biztalk-wcf,Biztalk,Biztalk 2010,Biztalk Wcf,我当前需要配置一个动态发送端口,以连接不符合WS-I基本配置文件v1.1的ASMX web服务。特别是R9981,它指出“一个信封必须有soap:Body元素的零个或一个子元素。”我使用的web服务期望一个包含多个元素的主体,这导致soap主体看起来像: <Body> <FirstElement /> <SecondElement /> </Body> 我尝试过使用WCF BasicHttp和WCF自定义适配器,但都没有成功。

我当前需要配置一个动态发送端口,以连接不符合WS-I基本配置文件v1.1的ASMX web服务。特别是R9981,它指出“一个信封必须有soap:Body元素的零个或一个子元素。”我使用的web服务期望一个包含多个元素的主体,这导致soap主体看起来像:

<Body>
    <FirstElement />
    <SecondElement />
</Body>

我尝试过使用WCF BasicHttp和WCF自定义适配器,但都没有成功。BizTalk WCF适配器似乎无法处理包含多个元素的SOAP主体

在接收位置,我使用模板将消息包装在一个元素下,以解决消息在BizTalk中传输的问题,我认为可以使用自定义发送管道/自定义组件简单地截获消息,从而去掉包装元素。然后,我尝试了一个带有消息检查器的自定义行为扩展,但在BizTalk的WCF“BizTalkBodyWriter”开始工作之前,仍然会出现这种情况


由于我正在使用ESB2.1工具包,因此无法使用HTTP适配器从头创建SOAP消息。我的最后一个想法是,我需要创建一个自定义WCF LOB适配器,但在我开始这一过程之前,我想确保我没有将事情过度复杂化,也没有一个我刚刚忽略的简单方法。

解决方案是创建一个自定义消息编码器。我跟着做向导