在SOAP响应中发送XML字符串

时间:2012-10-17 21:26:20

标签: java jax-ws

我们使用JAX WS框架构建了一些Web服务。这些方法将Java对象作为输入并返回Java对象,而Java对象又由框架转换为XML。

现在我有了一个新的用例,我需要将实际的XML返回给客户端。如何将它放在SOAP响应中。此外,调用客户端仍然可以将此响应转换为Java对象而不会产生任何影响。

由于

1 个答案:

答案 0 :(得分:0)

只需在SOAP接口中返回一个String对象即可。作为返回值,您只需将XML作为String返回,然后客户端就可以以任何方式使用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
}