Java requête Soap - lecture de la réponse soap

Je vais essayer d'obtenir des valeurs spécifiques de réponse que je reçois de webservice. Malheureusement, je ne sais pas comment le faire. J'ai utilisé le code trouvé sur stackoverflow pour la création de savon de la demande et de la rédaction de contenu de la réponse dans stdout:

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);
}

Que tout cela fonctionne bien mais je n'ai pas besoin tout le contenu de la réponse:

<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>

J'ai juste besoin de la valeur de code et la description de cette réponse. Comment puis-je faire cela?

jetez un oeil à XPATH si vous essayez juste d'obtenir un seul élément à partir d'un message soap stackoverflow.com/questions/2811001/...
Je crois qu'il y a moyen de faire quelque chose comme: soapResponse.getSOAPBody().getElementsByTagName() mais je continue à faire des drôles de valeurs, tout en essayant de faire comme ceci.

OriginalL'auteur J33nn | 2013-12-09