Ich möchte Code und Text getrennt von dem unten aufgelisteten Seifenfehler extrahieren. Der Code, den ich verwende (unten aufgeführt, xml) druckt Code und Text zusammen.SoapFaultException - Code und Text extrahieren
<env:Fault xmlns:env = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:fault = "http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>fault:Client</faultcode>
<faultstring>An error occurred. Please check the detail section.</faultstring>
<detail>
<e:serviceFault xmlns:e = "http://xml.comcast.com/types">
<e:messages>
<e:message>
<e:code>ERRORCODE-82828</e:code>
<e:text>Error Message.</e:text>
</e:message>
</e:messages>
</e:serviceFault>
</detail>
</env:Fault>
-Code
public void printSoapFaultClientException(SoapFaultClientException e) {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = null;
transformer = transformerFactory.newTransformer();
DOMResult result = new DOMResult();
transformer.transform(e.getSoapFault().getSource(), result);
NodeList nl = ((Document)result.getNode()).getElementsByTagName("detail");
System.out.println(" text content " + ((Element)nl.item(0)).getTextContent());
}
Dank @Ramachandran. Die Spring-API gibt nur den Fehlercode und die Fehlerzeichenfolge zurück und gibt den inneren Code und den Text nicht zurück. –
Der Xpath half sehr. Vielen Dank! –
Ich fange (SoapFaultClientException e) im Catch-Block. Wie extrahiere ich inneren Text ?? –