AX 2012 ContractFilter不匹配

时间:2012-04-03 10:35:25

标签: wcf biztalk ax

我正在关注Microsoft文档“使用Microsoft BizTalk Server 2010与Microsoft Dynamics AX_AX2012.pdf交换文档”。我有由BizTalk收集的示例XML订单创建,转换并传递到AX,这是由AX入站端口收集,但后来我收到以下错误:

请求失败并出现以下错误:无法在接收方处理带有操作'http://schemas.microsoft.com/dynamics/2008/01/services/SalesOrderService/Create'的消息,原因是EndpointDispatcher上的ContractFilter不匹配。这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。检查发件人和收件人是否具有相同的合同和相同的约束(包括安全要求,例如邮件,传输,无)。

我是AX的新手,不知道如何最好地解决这个问题。我怎样才能找到描述SalesOrderService / Create操作的WSDL?有什么我想念的吗?谢谢,Rob。

2 个答案:

答案 0 :(得分:0)

我不知道Dynamix AX,但是当出现错误消息中描述的任何问题时,这是一个非常常见的错误。

在您在BizTalk中创建的发送端口上,确保:

  • 另请注意Soap Actions are case sensitive(即/创建不/创建)
  • WS-NetTcp作为类型(您也可以使用NetTcp绑定尝试WCF-Custom - 配置 - 选项卡#2)
  • 在“配置”标签中,顶部的地址网址(似乎是正确的)。请注意关于端口8201
  • 的观点
  • 以下textarea需要将SOAP Action设置为http://schemas.microsoft.com/Microsoft Dynamics / 2008/01 / services / SalesOrderService / read

如果这不起作用,您可能会看到是否有使Dynamix AX使用basicHttpBinding或wsHttpBinding公开其服务 - 这样,使用像Fiddler这样的工具来调试通信要容易得多。

Re:你如何看待Mex / WSDL工作? 希望AX为net.tcp端点提供启用http-get的mex端点。见WCF NetTcpBinding with mex

答案 1 :(得分:0)

另请查看http://www.axaptapedia.com/Webservice

您没有提及您的AX版本,但Consuming Web Services in Microsoft Dynamics AX 2009 White Paperfor AX 2012可能与您相关。