[解決済み] EndpointDispatcherの例外でContractFilterの不一致が発生する。
質問
次のようなシナリオをテストしようとしています。
- 一般的な WSDL
- WSDLに基づいたオブジェクトを実装し、IISでホストされるWCFエンドポイント。
- リクエストを作成するためにWSDLに基づいたプロキシを使用するクライアントアプリ。
クライアントからサービスエンドポイントにWebサービスコールを行うと、次のような例外が発生します。
{"The message with Action ' http://IMyService/CreateContainer ' を持つメッセージは、EndpointDispatcher の ContractFilter のミスマッチにより、受信側で処理することができません。 これは、コントラクトの不一致(送信者と受信者間のActionの不一致)、または送信者と受信者間のバインディング/セキュリティの不一致が原因である可能性があります。 送信者と受信者が同じ契約と同じバインディング(セキュリティ要件、たとえばメッセージ、トランスポート、なし)を持っていることを確認してください。}
MS Service Trace Viewer を使い始めたのですが、どこを見ればいいのかわかりません。クライアントとエンドポイントのクラスを見ている間、それらは同一に見えます。
この問題のデバッグをどのように始めればよいのでしょうか。
この例外の原因として考えられることは何ですか?
どのように解決するのですか?
EndpointDispatcherで"ContractFilterの不一致が発生した場合、受信者がメッセージを受信したエンドポイントに設定されているコントラクトのいずれにも一致しないため、受信者がメッセージを処理できなかったことを意味します。
これは、次のような理由が考えられます。
- クライアントと送信者の間で異なる契約をしている。
- クライアントと送信者間で異なるバインディングを使用している。
- メッセージのセキュリティ設定が、クライアントと送信者の間で一貫していません。
をご覧ください。
EndpointDispatcher
クラスをご覧ください。
では
クライアントとサーバーの契約が一致することを確認します。
- WSDL からクライアントを生成した場合、その WSDL は最新のものですか?
- コントラクトに最近の変更を加えた場合、クライアントとサーバーの両方の正しいバージョンをデプロイしましたか?
- クライアントのコントラクトクラスを手作りで作成した場合、名前空間、要素名、アクション名がサーバーが期待するものと一致していることを確認します。
クライアントとサーバーの間でバインディングが同じであることを確認します。
- エンドポイントを管理するために .config ファイルを使用している場合、バインディング要素が一致することを確認します。
クライアントとサーバーでセキュリティ設定が同じであることを確認します。
- エンドポイントを管理するために .config ファイルを使用している場合、セキュリティ要素が一致していることを確認します。
関連
-
[解決済み] デフォルトのエンドポイント要素が見つからない
-
[解決済み] (413) リクエストエンティティが大きすぎる|uploadReadAheadSize
-
[解決済み] Windows 7のsvcutil.exeはどこにあるのですか?
-
[解決済み] WCFメタデータに解決できない参照が含まれている
-
[解決済み] w3wp.exeとは何ですか?
-
[解決済み] WCFサービスのREST / SOAPエンドポイント
-
[解決済み】WCFとASMXのWebサービスの違いは何ですか?
-
[解決済み】WCFサービスからきれいなJSONを返すにはどうすればいいですか?
-
[解決済み] すべてのWCF呼び出しにカスタムHTTPヘッダを追加するには?
-
[解決済み] WCFサービスのタイムアウト値を増加させる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] デフォルトのエンドポイント要素が見つからない
-
[解決済み] (413) リクエストエンティティが大きすぎる|uploadReadAheadSize
-
[解決済み] Windows 7のsvcutil.exeはどこにあるのですか?
-
[解決済み] 受信メッセージの最大メッセージサイズ枠(65536)...枠を増やすには、MaxReceivedMessageSizeプロパティを使用します。
-
[解決済み] w3wp.exeとは何ですか?
-
[解決済み] WCFサービスのREST / SOAPエンドポイント
-
[解決済み】WCFサービスからきれいなJSONを返すにはどうすればいいですか?
-
[解決済み] WcfTestClient.exe (Visual Studioの一部)はどこにありますか?
-
[解決済み] すべてのWCF呼び出しにカスタムHTTPヘッダを追加するには?
-
[解決済み] WCFサービスのタイムアウト値を増加させる