解决 WebService 返回 DataSet XML 数据解析问题
写在前面
- 最近在写 WebService 时,遇到了使用第三方的 WebService 生成客户端代码后,对于请求返回的 DataSet 数据类型无法正确解析的问题。
- 经过近一天的尝试终于解决此问题,在此记录并分享。
- 这里贴上常用的第三方 WebService,常用的 WebService
问题描述
- 使用
IntelliJ IDEA 2020.2.3
中提供的Glassfish /JAX-WS 2.2 RI / Metro 1.X/ JwSDP2.2
方式生成客户端代码
- 在调用请求返回的 DataSet 数据类型无法正确解析
- 返回结果
[[xs:schema: null], [diffgr:diffgram: null]]
解决方法
- 使用
Axis
生成客户端代码(IntelliJ IDEA
的可能存在问题,实在不行可以试试eclipse
)
- 使用代理对象返回数据(此处以获取邮政编码为例)
1 |
|
- 返回的
any
即为包含目标数据的XML
结果 - 手动编写代码对
XML
进行解析并获得数据
写在最后
- 我对 XML 的解析操作进行了封装,将其封装成一个工具类,具体代码如下:
1 |
|
解决 WebService 返回 DataSet XML 数据解析问题
https://hwh-2019.github.io/2022/12/10/解决-WebService-返回-DataSet-XML-数据解析问题/