如何从Java中的SOAP响应中提取数据?(How to extract data from a S

2019-08-16 17:34发布

我有一个客户端设置发送到国家气象局SOAP服务器的请求。 我收到了,我期待的回应,但我不能确定,以从中提取我需要的数据的最佳方式。

例如,有很多的XML(中的SOAPBody)额外的数据,但我只是想抓住的数据,我设置的参数(如温度),以我的POJO。

什么是提取该数据的最佳方式?

Answer 1:

我开始尝试手工消费SOAP Web服务像你描述的 - 有更好的方法。

有图书馆,在那里,将尽一切为你工作 - 无需手工解析什么。

退房JAX-WS 。 大多数现代的IDE(当然Netbeans的和Eclipse的 )还提供了指向和点击建设给予了WSDL的Web服务客户端的支持。

最大的潜在问题,这条路是如果没有WSDL或WSDL是错误的,在这种情况下,我已经挂了工具可能会挣扎。

接下来最安全的办法是使用像JAXP的SAX和DOM等XML解析器(他们是正确的,在你的JRE)解析响应,然后步行所涉及的数据结构。

最后,你可以用拆分或正则表达式去串黑客攻击的路线,但走上这条路位于潜在的痛苦很大-有更多的XML规范再嵌套的标签。



Answer 2:

它强烈receommended你不尝试,用手解码SOAP :)

只是为了扩大在什么@Brabster说,Netbeans的具有丰富的Web服务支持,特别是使用JAX-WS库。

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



文章来源: How to extract data from a SOAP response in Java?