1

さまざまな REST (および場合によっては SOAP) API にアクセスする、優れた実用的なコードがたくさんあります。.NET 4.0 ベースのすべての WCF です。

しかし、私がアクセスするシステムが悪い xml を返すことがあります (ああ、文字列で xml を構築する開発者... 悪い人!)。

そのため、XML は不良であり、WCF は (当然のことながら) スローします... system.invalidoperationexception ... xml ドキュメントのエラー ... [文字列 FOO は有効なブール値ではありません][またはその他の解析エラー] ...

HTTP POST/GET 応答 (逆シリアル化に失敗した応答) の完全な raw xml をログに記録する必要があります。何らかの理由で、WCF ランドのどこでこれを見つけることができないようです。

4

2 に答える 2

1

リクエストの生データにアクセスする必要がある場合、行きたい場所はカスタム メッセージ エンコーダーです。できることは、独自のエンコーダーを作成することです (おそらく既存のエンコーダーをラップします)。その時点で、トランスポート層から生のバイトを取得します。カスタム エンコーダーの詳細については、http://blogs.msdn.com/b/carlosfigueira/archive/2011/11/09/wcf-extensibility-message-encoders.aspxを参照してください。

于 2013-01-29T06:10:40.633 に答える
0

トレースを有効にして、どこに問題があるかを確認してください。素晴らしいアプリ AppFabric があります。ここでは、簡単にテイシング設定を変更し、例外付きのメッセージを確認できます。http://msdn.microsoft.com/en-us/library/ms751526.aspxを参照してください。

于 2013-01-29T06:24:54.520 に答える