私はJavaで構築されたSOAP Webサービスを持っています。
メソッドで例外が発生した場合、「HTTP CODE 500」を返したいと考えています。
出来ますか?はいの場合、どのように?
(Web サービスは Tomcat 6 で実行されています)
私はJavaで構築されたSOAP Webサービスを持っています。
メソッドで例外が発生した場合、「HTTP CODE 500」を返したいと考えています。
出来ますか?はいの場合、どのように?
(Web サービスは Tomcat 6 で実行されています)
おそらく、修飾された例外を自分でスローする必要があります。これは、ソープ障害としてクライアントに送り返されます。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?
ご挨拶
バスティアン