如何从Java中的SOAP响应中提取数据?

the*_*e19 5 java soap soap-client

我有一个客户端设置为向国家气象服务SOAP服务器发送请求.我收到了我期望的回复,但我不确定从我需要的数据中提取数据的最佳方法.

例如,XML中存在大量额外数据(在SOAPBody中),但我只想获取我设置的参数(例如温度)的数据到我的POJO.

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

bra*_*ter 10

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

那里有图书馆可以为你做所有的工作 - 不需要手工解析任何东西.

查看JAX-WS.大多数现代IDE(当然是NetbeansEclipse)也提供了点击和点击支持,用于在给定WSDL的情况下构建Web服务客户端.

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

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

最后,您可以使用拆分或正则表达式进行字符串黑客攻击路径,但沿着该路径存在很大的潜在痛苦 - XML规范和嵌套标记更多.