我使用 AXIS2 作为客户端来处理 SOAP 响应。客户端存根是使用 WSDL2JAVA 命令生成的。为了解决一个问题,我试图在生成的存根中读取存储在 .xml 文件中的 xml 响应,并分配给 SOAPEnvelope。下面是为加载 .xml 内容而编写的代码:
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);
在代码的最后一行(分配给 SOAPEnvelope)得到 ClassCastException。有人可以帮我解决这个问题。