spring&web服务客户端 – 故障详细信息

前端之家收集整理的这篇文章主要介绍了spring&web服务客户端 – 故障详细信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我如何获得SoapFaultClientException发送的故障详细信息?
我使用WebServiceTemplate,如下所示:

WebServiceTemplate ws = new WebServiceTemplate();
ws.setMarshaller(client.getMarshaller());
ws.setUnmarshaller(client.getUnMarshaller());
try {
    MyResponse resp = (MyResponse) = ws.marshalSendAndReceive(WS_URI,req);
} catch (SoapFaultClientException e) {
     SoapFault fault =  e.getSoapFault();
     SoapFaultDetail details = e.getSoapFault().getFaultDetail();
      //details always NULL ? Bug?
}

发送的Web服务错误似乎是正确的:

谢谢

Willome

最佳答案
我还遇到了getFaultDetail()返回null(对于SharePoint Web服务)的问题.我可以通过使用类似于此的方法获取detail元素:

private Element getDetail(SoapFaultClientException e) throws TransformerException {
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    DOMResult result = new DOMResult();
    transformer.transform(e.getSoapFault().getSource(),result);
    NodeList nl = ((Document)result.getNode()).getElementsByTagName("detail");
    return (Element)nl.item(0);
}

之后,您可以在返回的Element或任何您想要的内容调用getTextContent().

原文链接:https://www.f2er.com/spring/431611.html

猜你在找的Spring相关文章