2012-10-17 39 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