我们有一些使用 JAX WS 框架构建的 Web 服务。这些方法将 Java 对象作为输入并返回 Java 对象,这些 Java 对象又由框架转换为 XML。
现在我有了一个新的用例,我有需要返回给客户端的实际 XML。如何将其放入 SOAP 响应中。此外,调用客户端应该仍然能够将此响应转换为 Java 对象而不会产生任何影响。
谢谢
只需在 SOAP 接口中返回一个 String 对象。作为返回值,您可以将 XML 作为字符串返回,然后客户端可以以任何方式使用 XML。
如果客户端想要一个 XML 的 Java 对象,它当然可以使用类似这样的东西来处理它:
String responseXml = WebServiceStuff.getXmlFromWebservice(); // this is your webservice
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// factory.setNamespaceAware( true ); // if you need it
// factory.setValidating( true ); // if you need it
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(responseXml);
Node rootNode = document.getDocumentElement();
// do something more with the XMLDocument
}
catch (Exception e)
{
// handle exception that happend while building the DOM
}