我们使用JAX WS框架构建了一些Web服务。这些方法将Java对象作为输入并返回Java对象,而Java对象又由框架转换为XML。
现在我有了一个新的用例,我需要将实际的XML返回给客户端。如何将它放在SOAP响应中。此外,调用客户端仍然可以将此响应转换为Java对象而不会产生任何影响。
由于
答案 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
}