【问题标题】:AX 2012 ContractFilter mismatchAX 2012 ContractFilter 不匹配
【发布时间】:2012-04-03 10:35:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: wcf biztalk ax


    【解决方案1】:

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

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

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

    如果这不起作用,您可能会查看是否有任何方法让 Dynamix AX 使用 basicHttpBinding 或 wsHttpBinding 公开其服务 - 这样,使用 Fiddler 之类的工具调试通信会容易得多。

    Re: 您如何看待 Mex / WSDL 的工作方式? 希望 AX 有一个为 net.tcp 端点启用 http-get 的 mex 端点。见WCF NetTcpBinding with mex

    【讨论】:

    • 可以使用各种 WCF 绑定与 AX 进行同步交换。然而,当交换大量数据时,这被认为效率较低(从 AX 角度来看) - 因此我想通过文件适配器来证明异步通信。
    【解决方案2】:

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

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

    【讨论】:

    • Microsoft Dynamics AX_AX2012.pdf
    猜你喜欢
    • 2014-08-22
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2013-03-09
    • 2011-07-26
    • 1970-01-01
    相关资源
    最近更新 更多