2009-09-23 77 views
5

我有一个客户端设置为向国家气象服务SOAP服务器发送请求。我收到了我期望的答复,但我不确定从中需要提取数据的最佳方式。如何从Java中的SOAP响应中提取数据?

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

提取这些数据的最佳方法是什么?

+0

您使用什么代码来进行SOAP调用? – tster 2009-09-23 20:57:57

回答

10

我开始尝试像您描述的那样手动使用SOAP Web服务 - 有更好的方法。

有些图书馆会为你做所有的工作 - 无需手工分析任何东西。

结帐JAX-WS。大多数现代IDE(当然还有NetbeansEclipse)也为构建Web服务客户端提供点和点击支持。

这条路线最大的潜在问题是,如果没有WSDL或者WSDL错误,在这种情况下,我所链接的工具可能会很困难。

下一个最安全的事情就是使用XML解析器,比如JAXP的SAX & DOM等(它们就在你的JRE中)解析响应,然后遍历所涉及的数据结构。

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