[英]How to extract data from a SOAP response in Java?
我有一個客戶端設置為向國家氣象服務SOAP服務器發送請求。 我收到了我期望的回復,但我不確定從我需要的數據中提取數據的最佳方法。
例如,XML中存在大量額外數據(在SOAPBody中),但我只想獲取我設置的參數(例如溫度)的數據到我的POJO。
提取此數據的最佳方法是什么?
我開始嘗試像你描述的那樣手工使用SOAP Web服務 - 有更好的方法。
那里有圖書館可以為你做所有的工作 - 不需要手工解析任何東西。
查看JAX-WS 。 大多數現代IDE(當然是Netbeans和Eclipse )也提供了點擊和點擊支持,用於在給定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.