私はかつて同様の問題を抱えていました。スタックトレースの表示をオフにする設定があるかどうかはわかりませんが、少なくともその時点で見つけることができたものはありません(それが最善の解決策でした)。代わりに、主に時間がないため、迅速で汚いアプローチを選択しました。
私がしたことは、Axis2 に障害の詳細を自分で提供することでした。Axis2 サーブレットにはhandleFault
、障害の生成を処理するメソッドが呼び出されています。より正確には (呼び出しのより深いところで)、このMessageContextBuilder.createFaultEnvelope
メソッドは fault 要素を構築するために使用されます。
詳細にスタックトレースを含めるのがデフォルトの動作ですが、カスタムの詳細を指定する方法があります。1 つの方法は、障害に配置される( AXIOMを参照) を追加できるtheAxisFault
のフィールドを使用することです。だからあなたは次のようなことをします:detail
OMElement
public class MyServlet extends AxisServlet {
...
public void handleFault(MessageContext msgContext, OutputStream out, AxisFault e) {
OMFactory factory = OMAbstractFactory.getOMFactory();
OMElement detail = factory.createElement(...);
e.setDetail(detail);
// now let axis do its thing with the new improved AxisFault
super.handleFault(msgContext, out, e);
}
}
これで、例外スタック トレースの代わりに、詳細が追加されます。