現在、EJB3ベースのSOAP Webサービスを開発していますが、未調査の例外を処理してクライアントに適切なSOAP応答を返すベストプラクティスは何か疑問です。ejb 3ベースのSOAPサービスで例外を処理する方法
例:
@WebMethod
public SomeResponse processSomeService(
@WebParam(name = "someParameters") SomeParameters someParameters)
{
// the EJB do something with the parameters
// and retrieve a response fot the client
SomeResponse theResponse = this.doSomething(someParameters);
return theResponse;
}
は、私は次のように汎用的な例外をキャッチする必要があります:
@WebMethod
public SomeResponse processSomeService(
@WebParam(name = "someParameters") SomeParameters someParameters)
{
// the EJB do something with the parameters
// and retrieve a response to return to the client
try
{
SomeResponse theResponse = this.doSomething(someParameters);
}
catch (Exception ex)
{
// log the exception
logger.log(Level.SEVERE, "something is going wrong {0}", ex.getMessage());
// get a generic error response not to let the
// technical reason going to the client
SomeResponse theResponse = SomeResponse.createError();
}
return theResponse;
}
これを達成するために、「ベストプラクティス」のいくつかの種類がありますか?
ありがとう
アイデアは、 "server overload"のようなメッセージで、実際のエラーがクライアントを通過することはありません。 –
@Alexandre:エラーコードをクライアントに返すことで、実際のエラーの意味を隠すことができます。これは、後で問題を解決するのに役立ちます。 – Qwerky
私は最終的に汎用例外をキャッチし、例外の種類に応じてエラーコードを追加します。提案していただきありがとうございます。 –