簡體   English   中英

如何從Java中的SOAP響應中提取數據?

[英]How to extract data from a SOAP response in Java?

我有一個客戶端設置為向國家氣象服務SOAP服務器發送請求。 我收到了我期望的回復,但我不確定從我需要的數據中提取數據的最佳方法。

例如,XML中存在大量額外數據(在SOAPBody中),但我只想獲取我設置的參數(例如溫度)的數據到我的POJO。

提取此數據的最佳方法是什么?

我開始嘗試像你描述的那樣手工使用SOAP Web服務 - 有更好的方法。

那里有圖書館可以為你做所有的工作 - 不需要手工解析任何東西。

查看JAX-WS 大多數現代IDE(當然是NetbeansEclipse )也提供了點擊和點擊支持,用於在給定WSDL的情況下構建Web服務客戶端。

沿着這條路線出現的最大潛在問題是,如果沒有WSDL,或者WSDL是錯誤的,在這種情況下,我鏈接的工具可能會很困難。

下一個最安全的事情是使用像JAXP的SAX和DOM等XML解析器(它們就在您的JRE中),以解析響應,然后遍歷所涉及的數據結構。

最后,您可以使用拆分或正則表達式進行字符串黑客攻擊路徑,但沿着該路徑存在很大的潛在痛苦 - XML規范和嵌套標記更多。

強烈建議您不要手動解碼SOAP :)

為了擴展@Brabster所說的內容,Netbeans擁有廣泛的Web服務支持,特別是使用JAX-WS庫。

http://www.netbeans.org/kb/60/websvc/jax-ws.html#Exercise_3_1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM