0

私はJavaで構築されたSOAP Webサービスを持っています。

メソッドで例外が発生した場合、「HTTP CODE 500」を返したいと考えています。

出来ますか?はいの場合、どのように?

(Web サービスは Tomcat 6 で実行されています)

4

2 に答える 2

2

おそらく、修飾された例外を自分でスローする必要があります。これは、ソープ障害としてクライアントに送り返されます。W3C は次のように伝えています。

リクエストの処理中に SOAP エラーが発生した場合、SOAP HTTP サーバーは HTTP 500 "Internal Server Error" レスポンスを発行し、SOAP 処理エラーを示す SOAP Fault 要素 (セクション 4.4 を参照) を含む SOAP メッセージをレスポンスに含める必要があります。 http://www.w3.org/TR/2000/NOTE-SOAP-20000508/

他のクライアントが別の応答を期待する可能性があるため、http 応答コードをいじると危険な場合があります。あなたのケースでは、W3C で指定されたとおりの動作が必要なため、幸運です。したがって、例外をスローします;)

どうやってするか?こちらをご覧ください: How to throw a custom fault on a JAX-WS Web service?

ご挨拶

バスティアン

于 2013-10-23T19:23:43.263 に答える