0
我使用AXIS2作爲處理SOAP響應的客戶端。客戶端存根使用WSDL2JAVA命令生成。爲了解決問題,我試圖讀取存儲在生成的存根控件的.xml文件中的xml響應,並將其分配給SOAPEnvelope。下面是寫入裝載.XML內容的代碼:AXIS 2:java.lang.ClassCastException:com.sun.org.apache.xerces.internal.dom.DeferredElementNSImpl無法轉換爲org.apache.axiom.om.OMElement
InputStream is = new ByteArrayInputStream((sb.toString()).getBytes());
javax.xml.parsers.DocumentBuilderFactory factory = avax.xml.parsers.DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
javax.xml.parsers.DocumentBuilder builder = null;
builder = factory.newDocumentBuilder();
org.w3c.dom.Document doc = builder.parse(is);
System.out.println("Got Document ..............");
is.close();
org.apache.axis2.saaj.util.SAAJUtil su = new org.apache.axis2.saaj.util.SAAJUtil();
org.apache.axiom.soap.SOAPEnvelope _returnEnv1 = su.getSOAPEnvelopeFromDOOMDocument(doc);
上午在代碼的最後一行得到ClassCastException異常(分配到的SoapEnvelope)。 有人可以幫助我這個。
感謝您的回覆......我確實從後端服務獲取響應,並將響應保存在xml文件中。我收到的數據不會在第二天相同(記錄每晚更新)。我將數據保存到一個文件,以便我可以測試和驗證是否有任何錯誤的數據...並修復任何問題raise.most的問題是可重現的。但我有一個不容易重現的問題。所以想到在XML中使用保存的SOAP響應並重現並修復問題...請讓我知道是否有任何其他方式訪問保存的數據並將其分配給SOAPEnvelope。 – mangala