2012-04-03 12 views
0

「Microsoft Dynamics AX_AX2012.pdfとMicrosoft BizTalk Server 2010を使用してドキュメントを交換する」というMicrosoftの文書に従っています。 BizTalkで収集したサンプルXMLオーダーを変換してAXに渡しましたが、これはAXインバウンドポートによって収集されていますが、次のエラーが発生します:AX 2012 ContractFilterの不一致

次のエラーで要求が失敗しました。 Action 'http://schemas.microsoft.com/dynamics/2008/01/services/SalesOrderService/Create'は、EndpointDispatcherでContractFilterの不一致が原因で受信者で処理できません。これは、契約の不一致(送信者と受信者の間の不一致)または送信者と受信者の間のバインディング/セキュリティの不一致のいずれかが原因である可能性があります。送信者と受信者が同じ契約と同じバインディング(セキュリティ要件、たとえばメッセージ、トランスポート、なしなど)を持っていることを確認します。

私はAXについていないので、これをトラブルシューティングするにはどうすればよいか分かりません。 SalesOrderService/Create操作を記述するWSDLをどのように見つけることができますか?私が行方不明のものはありますか?ありがとう、ロブ。

答えて

0

私はDynamix AXを知らないが、これはエラーメッセージに記載されている問題のいずれかが発生したときには非常によくあるエラーです。タイプとしても

  • なおSoap Actions are case sensitive(すなわち/ /作成できないの作成)
  • WS-NETTCP(あなたも試すことができますことを確認して、をBizTalkで作成したポートを送るには

    WCF-Custom with the NetTcp Binding - 設定 - タブ#2)

  • [設定]タブでは、一番上のアドレスURLが正しいと思われます。テキストエリアがhttp://schemas.microsoft.com/Microsoftダイナミクス/ 2008/01 /サービス/ SalesOrderServiceにSOAPアクションを設定する必要があります下にポート8201
  • ザ・についてのポイントに注意してください/これが機能しない場合がある場合は、あなたが表示される場合があります

読みますとにかく、Dynamix AXにbasicHttpBindingまたはwsHttpBindingを使用してサービスを公開させるようにしてください。この方法では、Fiddlerのようなツールを使用して通信をデバッグするほうがはるかに簡単です。

Re:どのようにMex/WSDLが動作するのでしょうか? AXには、net.tcpエンドポイント用のhttp-get対応mexエンドポイントがあります。 WCF NetTcpBinding with mex

+0

さまざまなWCFバインディングを使用して、AXとの同期交換を行うことができます。しかし、これは大量のデータを交換するとき(AXの観点からは)効率が悪いと思われます。そのため、なぜファイルアダプタ経由で非同期通信を証明したいのですか。 –