2016-07-20 5 views
0

私はWCF Webサービスを使用しています。構文上正しいxmlデータを提供していますが、提供されるアプリケーション固有のコードの1つが間違っていることがあります(正しいデータ型ですが、有効な値ではありませんが、xsdを渡します)。 Webサービスは、レスポンスボディ内の詳細なレスポンスメッセージと、Bad Request 400のHTMLステータスコードを返します。Bad Request 400ステータスコードにより、WCF Webサービスプロキシはすぐに例外を発生させ、ResponseBodyは詳細なメッセージ。私が詳細な検証メッセージを見ることができる唯一の方法は、Webサービスのトレースをオンにしてトレースファイルを見ることです(明らかに、リクエストを再実行し、非常に時間がかかることを意味します)。要求データの内容が整形されているがデータの検証に失敗した場合にWCF Webサービスが返す正しいHTTPステータスコードは何ですか?

この状況では、Bad Request 400のステータスコードが正しくないと思います。私が明確にしていないのは、正しい状態がどうあるべきかということです。注:これはWebAPI RESTではなく、WCF Webサービスです。

実際のリクエストがうまく構成されているため、200 OKは問題ありませんが、内容は無効です。その後、実際のステータスのレスポンスボディを調べます。

ベストプラクティスの回答をお願いします。まだ400のステータスコードになり

多くのおかげで、

ジェームズ

答えて

2

。何らかの理由でデータが悪かった。

また、500種類の応答も使用できますが、必ずしも予期しないデータではありません。

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+0

私はまだ同意しません。このサービスはresponseBodyに個別の詳細なエラーメッセージを提供していますが、これはWS-I標準を破ります。 responseBodyを返す場合、正しいステータスコードは200(OK)だけです。彼らは、標準で定義されているSOAP障害を使用していません。トレースをオンにしたり、コールを再実行したり、トレースログを調べたりすることなく、詳細なエラーメッセージを読み取ることはできません。これはサポートのための大規模なオーバーヘッドです。 http://ws-i.org/profiles/basicprofile-2.0-2010-11-09.html#SOAP_Fault_Processing –

+0

ログの問題を解決しようとしているようです。あなたのWCFサービスは、その例外を回避するために、そして発生したときに、いくつかのロギングをラップする必要があります。 –

関連する問題