Sto cercando di ottenere valori specifici dalla risposta ricevuta dal servizio web. Purtroppo non so come farlo. Ho usato il codice trovato su StackOverflow per la creazione di richiesta di sapone e la scrittura di contenuto della risposta in stdout:Richiesta di sapone Java - lettura della risposta del sapone
private static void printSOAPResponse(SOAPMessage soapResponse) throws Exception {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Source sourceContent = soapResponse.getSOAPPart().getContent();
System.out.print("\nResponse SOAP Message = ");
StreamResult result = new StreamResult(System.out);
transformer.transform(sourceContent, result);
}
Tutto funziona bene, ma ho bisogno di tutto il contenuto della risposta:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bin="http://localhost/WebService/bindings" xmlns:typ="http://localhost/WebService/types">
<soapenv:Header/>
<soapenv:Body>
<bin:doActionResponse>
<bin:out>
<typ:result>
<typ:code>?</typ:code>
<typ:description>?</typ:description>
</typ:result>
</bin:out>
</bin:doActionResponse>
</soapenv:Body>
</soapenv:Envelope>
Ho solo bisogno di valore del codice e descrizione da questa risposta. Come posso fare questo?
dare un'occhiata a XPATH se si sta cercando di ottenere un singolo elemento da un messaggio soap http://stackoverflow.com/questions/2811001/how-to-read-xml-using-xpath-in-java –
Credo che ci sia un modo per fare qualcosa di simile: 'soapResponse.getSOAPBody(). GetElementsByTagName()' ma continuo a ricevere alcuni strani valori mentre provo a fare questo. – J33nn