Java中没有DotNet内置的DataSet类,无法解析.虽然网上有些在Java下的类似DataSet类能有限解决该问题,但是最好还是用标准方法。
解决方法:
WebService函数,最终返回结果是个xml字符串,而DataSet产生的xml字符串,是使用匿名架构类型声明的.
所以必须使用简单数据类型或简单数据类型数组.
在尽量少改变原有代码的基础上,有以下3种解决方法.
1、 服务器端返回为string,内容为xml字符串,可以使用DataSet.GetXml()方法.
服务端改动量很少.
对应客户端需要自己读取该xml字符串.
2 、返回为包含简单数据类型的类数组,但在服务端要将DataSet中的各个字段都一一映射的数组中.
客户端很方便读取.
服务端改动量稍微大点,如果字段多的话就麻烦了.
3、服务器返回大量数据DataSet的时候,可以采用压缩技术,返回Byt[]二进制数组,并且打包压缩传输。
总结:
WebService传输数据时,参数类型最好是简单数据类型,或者直接是个xml字符串.
这样能够避免各个系统之间的兼容性问题(跨语言性)。