2012-04-23 22 views
0

RESTfulサービスとSOAPサービスの両方として公開されているWCFサービスから例外をスローする良い方法はありますか?私がこれまでに収集したことから、SOAPサービスはFaultExceptionsをスローし、RESTfulサービスはWebProtocolExceptionをスローしてクライアント側でエラーの詳細を簡単に利用できるようにする必要があります。私の場合、RESTfulとSOAPの2つのエンドポイントを介して同じサービスが公開されています。どのような種類の例外処理メカニズムを使用すればエラーの詳細をRESTfulなクライアントとSOAPクライアントに簡単に渡すことができますか?RESTサービスとSOAPサービスとして公開されているWCFサービスの例外処理

+0

まだプロジェクトの早い時期に決定するのであれば、石鹸と休息の両方に同じサービスを使用しないことをお勧めします。これらは抽象化の2つの異なるレベルです。残りの使用のためにasp.net http api –

+0

これを参照してくださいhttp://stackoverflow.com/questions/10288976/should-i-wrap-all-my-wcf-service-code-in-a-try-catch-block – userGS

答えて

1

SOAPとRESTは、サービス機能を公開するための2つの異なるメカニズムであり、例外のSOAPへの公開方法とRESTは、詳細を正しく記述したとおりに異なります。

HTTP経由のRESTまたはRESTはアーキテクチャパターンであり、プロトコルとしてHTTPを採用しています。アプリケーション内の例外は、HTTPエラーコードに変換取得する必要がありますのような40倍、リクエストの実行中に発生するエラーのために不正アクセス

  • 500たとえば、要求の問題のため

    • 401に対して50倍など。

    エラーの詳細は、レスポンス本文のエラーコードと共に返すことができます。

    RESTfulエンドポイントを使用しているクライアントは、HTTPエラーコードを予想し、それらを処理する必要があります。

  • 関連する問題