0

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

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

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

4

2 回答 2

0

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

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

  • 另请注意,Soap 操作区分大小写(即 /create 不是 /Create)
  • WS-NetTcp 作为类型(您也可以尝试 WCF-Custom 与 NetTcp 绑定 - 配置 - 标签 #2)
  • 在“配置”选项卡中,顶部的地址 URL(似乎是正确的)。注意关于端口 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 端点。请参阅带有 mex 的 WCF NetTcpBinding

于 2012-04-03T12:10:04.017 回答
0

也看看http://www.axaptapedia.com/Webservice

您没有提及您的 AX 版本,但Microsoft Dynamics AX 2009 白皮书AX 2012中的使用 Web 服务可能与您相关。

于 2012-04-04T06:25:22.253 回答