2012-04-03 1 views
0

Я следую за документом Microsoft «Использование Microsoft BizTalk Server 2010 для обмена документами с Microsoft Dynamics AX_AX2012.pdf». У меня есть пример создания порядка XML, собранный BizTalk, преобразованный и переданный на AX, который собирается через входящий порт AX, но затем я получаю следующую ошибку:AX 2012 Несоответствие контрактаФильтр

Ошибка запроса со следующей ошибкой: сообщение с Действие «http://schemas.microsoft.com/dynamics/2008/01/services/SalesOrderService/Create» не может быть обработано в приемнике из-за несоответствия ContractFilter в EndpointDispatcher. Это может быть из-за несоответствия контракта (несоответствие действий между отправителем и получателем) или несоответствия привязки/безопасности между отправителем и получателем. Убедитесь, что отправитель и получатель имеют один и тот же контракт и одну и ту же привязку (включая требования безопасности, например сообщение, транспорт, нет).

Я новичок в AX и не знаю, как лучше всего устранить это. Как я могу найти WSDL, который описывает операцию SalesOrderService/Create? Есть что-то, чего я не хватает? Спасибо, Роб.

ответ

0

Я не знаю Dynamix AX, но это довольно распространенная ошибка, когда возникают какие-либо проблемы, описанные в сообщении об ошибке.

На порт отправки вы создали в BizTalk, убедитесь, что:

  • Заметим также, что Soap Actions are case sensitive (т.е./создать не/Создать)
  • WS-NetTcp как тип (вы также можете попробовать WCF-Custom с привязкой NetTcp - Настроить - вкладка №2)
  • На вкладке «Настроить» URL-адрес вверху (как представляется, правильный). Обратите внимание на пункт о Порте 8201
  • В приведенном ниже текстовом поле необходимо установить SOAP Action для http://schemas.microsoft.com/Microsoft Dynamics/2008/01/услуги/SalesOrderService/чтение

Если это не работает, вы можете увидеть, если есть в любом случае, чтобы заставить Dynamix AX выставлять свои службы с помощью basicHttpBinding или wsHttpBinding - таким образом было бы намного легче отлаживать связь с помощью инструмента, такого как Fiddler.

Re: Как вы видите работу Mex/WSDL? Надеюсь, у AX есть конечная точка mex с поддержкой http-get для конечной точки net.tcp. См. WCF NetTcpBinding with mex

+0

Можно выполнить синхронный обмен с AX, используя различные привязки WCF. Однако это считается менее эффективным (с точки зрения AX) при обмене большими объемами данных - поэтому я хотел бы доказать, что асинхронные сообщения передаются через файловый адаптер. –