長いタイトルでごめんなさい。
Dynamics Connector を使用して取り組んでいる統合プロジェクトをテストするために、C# で Dynamics AX の単体テスト フレームワークを作成しています。
タイムシート テストの基本構造は次のとおりです。
- データベースのスナップショットを作成します (AX はモック オブジェクトを許可しません)。
- AX インスタンスにログオンし、顧客、プロジェクトなどの基本データを作成します... ログオフ
- テスト用のタイムシート アイテムを作成する
- ドキュメント サービスへの呼び出しを使用してタイムシートを投稿する
- タイムシートを取得する
- 主張する
一部のテストでは、ポイント 5 で次のようなエラー メッセージが表示されます。
System.ServiceModel.CommunicationException: 受信メッセージの最大メッセージ サイズ クォータ (65536) を超えました。クォータを増やすには、適切なバインド要素で MaxReceivedMessageSize プロパティを使用します。---> System.ServiceModel.QuotaExceededException: 受信メッセージの最大メッセージ サイズ クォータ (65536) を超えました。クォータを増やすには、適切なバインド要素で MaxReceivedMessageSize プロパティを使用します。
2 つの異なるエラーのように聞こえるため、メッセージを 2 つに分割しました
TestCleanup メソッド ... 例外がスローされました。System.ServiceModel.CommunicationObjectFaultedException: System.ServiceModel.CommunicationObjectFaultedException: 通信オブジェクト System.ServiceModel.Channels.ServiceChannel は、Faulted 状態であるため、通信に使用できません。
AIF を使用している場合、バインディング xml がどこにも表示されないため、上部の部分を実行できません (私たちの知る限り)。
奇妙なことに、このエラーは一貫して発生していないように見えますが、テストで確認できるすべてのものをクリーンアップしています。
誰でも私を助けることができますか?試してみることを提案しているだけでも。
注意すべきもう 1 つのことは、これらのエラーが非常に頻繁にダイナミクス ax サービスをクラッシュさせ、それをデバッグするのが裏側で完全な苦痛になることです。