try-catch にいくつかのコードがあり、そのコードで Web サービスを呼び出しています。Web サービスでタイムアウトを設定しました。
私は2つのWebサービス呼び出しを持っています.1つは問題なく動作し、もう1つは応答に時間がかかりますが、タイムアウトのためにSocketTimeoutExceptionをスローする必要がありますが、PrivilegedActionExceptionをスローし、長いスタック状態の後、SocketTimeoutExceptionによる原因を示しています。
SocketTimeoutException を取得するために意図的にサービス呼び出し時間を非常に短くしましたが、PrivilegedActionException をプライマリ例外として与えています。
SocketTimeoutException をキャッチしたいのですが、PrivilegedActionException を示すコード レベルでは、この try catch によってスローされていないことを示しているため、PrivilegedActionException をキャッチできません。
目標を達成するために以下のコードを書きましたが、機能していません
try {
//some code here for service call
}catch(SocketTimeoutException e)
{
//not able to come here even though cause of the PrivilegedActionException is SocketTimeoutException
}
catch(Exception e)
{
//directly coming here OF COURSE
}
スタックトレース:
java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed