私はアプリケーションサーバーとしてWebsphereを使用してサードパーティのJ2EEアプリケーションを実装しています。私はincludePageもJSPページで、応答が時に例外なくXML本体を持っていると予想される誰が私の例外を食べましたか? (jsp dispatcher.include)
try {
RequestDispatcher dispatcher = request.getRequestDispatcher(includePage);
dispatcher.include(request,response);
} catch (Exception Ex) {
// process the excpetion
// and create appropriate response object with body as XML string
}
(callingPage)のJSPの1に次のコードを持っています。特定のシナリオでは、includePageは有効な(カスタム)承認を投げています。しかし、コントロールはcallPageのブロックをキャッチするようにはなりません。
レスポンスを調べると、レスポンスコードに500という文字列の<HTTP ResponseCode><CustomExceptionType><CustomException.getMessage()>
が含まれていることがわかりました。レスポンスボディはXML文字列ではないため、ダウンストリームの解析例外が発生します。
私はアプリケーションweb.xmlをチェックし、コード500に指定されたカスタムエラーページはありません。私はWebsphereの管理者と議論し、彼は多くの助けになることができませんでした。アプリケーションベンダーのサポートチームは、Websphereインスタンスでそれをテストし、動作することを確認します。それらによれば、それはWebsphere構成でなければなりません。
私のJ2EEフレームワークまたはWebsphereに関する知識は限られています。私は既存のクエリを検索しようとしましたが、考えられる原因を特定できませんでした。
問題は、Websphereコンテナcom.ibm.ws.webcontainer.dispatcherRethrowSERのカスタムプロパティをfalseに設定することで解決されました。詳細はこちらhttp://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Frweb_custom_props.html – Max