2016-09-21 67 views
1

我開始處理SOAP消息,我需要獲取此響應的字符串然後將其轉換爲圖片,但問題是要讓字符串開始用。從Java的SOAP C#Webservice獲取單個數據片段

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <ObtenerImagenResponse xmlns="http://localhost/WebService"> 
     <ObtenerImagenResult>This is a picture</ObtenerImagenResult> 
     </ObtenerImagenResponse> 
    </soap:Body> 
</soap:Envelope> 

如何從Java中提取「這是一張圖片」。

(我熟悉發送SOAP消息,我也可以得到一些消息,這要感謝一些C但我不知道如何使用它們)。

預先感謝您。如果需要,我可以提供更多信息,但這只是很多類似的SOAP響應的示例,我無法閱讀,哪些響應攜帶一個單一元素。

+0

你可以使用XPath http://stackoverflow.com/questions/2811001/how-to-read-xml-using-xpath-in-java –

回答

0

那麼,這個答案不是很複雜。

當我們獲得SOAP請求的響應之後,我們所要做的就是將正文提取爲Document,然後將第一個孩子的值作爲字符串獲取。

SOAPBody sb = soapResponse.getSOAPBody(); 
Document XMLDoc = sb.extractContentAsDocument(); 
NodeList nl = XMLDoc.getElementsByTagName("ObtenerImagenResult"); 
String response = nl.item(0).getFirstChild().getNodeValue(); 
return response; 

這是獲得唯一項目的最佳方法。我希望這對你有所幫助。

0

你可以使用jSoup,只是這樣做:

doc.select("ObtenerImagenResult"); 

基本上jSoup是一個Java庫,讓您以通過HTML/XML的大塊查詢使用jQuery的一樣選擇語法。

這是一個更詳細的代碼和說明:jSoup