私はSoapException
を使用して、無効な入力とその他の種類の例外処理をWebサービスで処理しています。それは正常に動作していると私はフォーマットし、クライアントに適切な情報を返すことができます。 (:500内部サーバーエラーにResponseCode)私は1と同様の方法でhttp://www.codinghorror.com/blog/2004/08/throwing-better-soap-exceptions.htmlSOAPExceptionの変更方法ResponseCode
は、今私はSoapException
が発生したときに、それが返すレスポンスコードを変更したいここで説明し、次のい。
SoapException
が発生したときのデフォルトの応答コードは、自分のカスタムXML
のデータに加えて次のようになります。私はResponseCode
を200に変更したいと思います。それは可能でしょうか?
500内部サーバーエラー 『HTTPステータスコード「R1126 INSTANCEが使用しなければならない』場合の応答メッセージ:WS-I基本プロファイルに応じて上記の警告のジョンSaudersという言葉を支持して
ResponseCode: 500 (Internal Server Error)
Connection:Close
Content-Length:494
Cache-Control:private
Content-Type:text/xml; charset=utf-8
Date:Tue, 25 Jan 2011 06:59:30 GMT
Server:ASP.NET Development Server/8.0.0.0
X-AspNet-Version:2.0.50727
答え((System.Web.HttpContext)(System.Runtime.Remoting.Messaging.CallContext.HostContext))を見出さResponse.StatusCode = 200。 –
@Ariz:あなたが選んだ解決策なら、あなたはSOAP標準に違反することを選択しました。コードは500である必要があります。 –
一部のブラウザでは、WebMethodを使用しているFlashに例外コンテンツを転送しないため、statusCodeを200に変更したいと考えています。 '((System.Web.HttpContext)(System.Runtime.Remoting.Messaging.CallContext.HostCont ext))。Response.StatusCode = 200;新しいSoapException()をスローします;はまだ応答コード500を返します – Smalcat