2012-04-03 67 views
0

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

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

我是新来的斧头,不知道如何以最佳方式解决此。我如何找到描述SalesOrderService/Create操作的WSDL?有什么我失踪?谢谢,罗布。

回答

0

我不知道的Dynamix AX,但在发生任何的错误消息所描述的问题,这是一个相当常见的错误。

在你已经在BizTalk创建的发送端口,确保:

  • 还要注意的是Soap Actions are case sensitive(即/创建不/创建)
  • WS-NetTcp的类型(你也可以尝试WCF的定制与NetTcp绑定 - 配置 - 选项卡2#)
  • 在“配置”选项卡,在顶部(地址URL似乎是正确的)。请注意有关端口8201
  • 该点以下textarea的需要设置SOAP行动http://schemas.microsoft.com/Microsoft动力/ 2008/01 /服务/ SalesOrderService /读

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

回复:你是如何看待的墨西哥/ WSDL工作? 希望AX有一个为net.tcp端点启用了http-get的mex端点。见WCF NetTcpBinding with mex

+0

使用各种WCF绑定可以与AX进行同步交换。但是,当交换大量数据时,这被认为效率较低(从AX的角度来看) - 因此我想通过文件适配器证明异步通信。 – 2012-04-03 12:44:07