2012-10-17 47 views
0

我们使用JAX WS框架构建了一些Web服务。这些方法将Java对象作为输入并返回Java对象,然后由框架将其转换为XML。在SOAP响应中发送XML字符串

现在我在哪里,我有实际的XML需要被返回给客户端一个新的使用案例。如何把它放在SOAP响应中。此外,调用客户端仍应该能够将此响应转换为Java对象,而不会产生任何影响。

谢谢

回答

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 
} 
+0

当我在一个字符串变量在SOAP返回XML响应xml字符串被包含在<![CDATA [xml字符串]]>中,而我希望字符串不被包含在CDATA中,并将其放在父响应标记下。 – user1754530

+0

你使用哪个库?发布一些代码如何实现该服务? – Akku