У меня когда-то была похожая проблема.Не уверен, есть ли какая-нибудь конфигурация для отключения показа стека, по крайней мере, та, которую я не смог найти в тот момент (это было бы лучшим решением).Вместо этого я выбрал быстрый и грязный подход, в основном из-за нехватки времени.
Я сам предоставил Axis2 подробности ошибки.Сервлет Axis2 имеет метод с именем handleFault
, который занимается генерацией ошибки.Точнее (глубже в вызове) метод MessageContextBuilder.createFaultEnvelope
используется для создания элемента ошибки.
Наличие трассировки стека в деталях является поведением по умолчанию, но есть способы указать ваши пользовательские детали.Одним из способов является использование поля AxisFault
detail
, в которое можно добавить OMElement
(см. AXIOM ) для помещения в ошибку.Таким образом, вы делаете что-то вроде:
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);
}
}
Теперь вместо трассировки стека исключений будет добавлена ваша деталь.