2017-09-07 13 views
-1

オアシスxsdを使用して応答を解析する最良の方法を知りたいと思います。私は次の応答XML文字列を持っていますが、それを解析する方法がわからないので、xsdをオアシスからコピーしようとしましたが、jaxbオブジェクトを作成できません。これは、XML応答データである:オアシスXML文書の解析

簡単な解決策、この方法で実装されていませんofcource、単なるイラスト見つかり
<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-521833581"> 
    <wsu:Created>2017-09-07T00:00:02.002Z</wsu:Created> 
</wsu:Timestamp> 
</wsse:Security> 
</soap:Header> 
<soap:Body> 
    <soap:Fault xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:c="urn:schemas-visa-com:transaction-data-1.0"> 
    <faultcode>wsse:FailedCheck</faultcode> 
    <faultstring> 
     Security Data : UsernameToken authentication failed. 
    </faultstring> 
</soap:Fault> 
</soap:Body> 
</soap:Envelope> 

答えて

0

SOAPBody body = soapResponse.getSOAPBody(); 
    if(body.hasFault()){ 
     LOG.debug("HAS LOG FAULT, LETS SEE WHAT ELSE..."); 
     LOG.debug("getFaultCode" + body.getFault().getFaultCode()); 
     LOG.debug("getFaultString" + body.getFault().getFaultString()); 
    }