现在的位置: 首页 > 综合 > 正文

其他语言(JAVA)调用.NET Web服务返回的DataSet的问题

2013年07月16日 ⁄ 综合 ⁄ 共 487字 ⁄ 字号 评论关闭

          Java中没有DotNet内置的DataSet类,无法解析.虽然网上有些在Java下的类似DataSet类能有限解决该问题,但是最好还是用标准方法。

解决方法:

WebService函数,最终返回结果是个xml字符串,而DataSet产生的xml字符串,是使用匿名架构类型声明的.

所以必须使用简单数据类型或简单数据类型数组.

在尽量少改变原有代码的基础上,有以下3种解决方法.

1、 服务器端返回为string,内容为xml字符串,可以使用DataSet.GetXml()方法.

   服务端改动量很少.

对应客户端需要自己读取该xml字符串.

2 、返回为包含简单数据类型的类数组,但在服务端要将DataSet中的各个字段都一一映射的数组中.

      客户端很方便读取.

     服务端改动量稍微大点,如果字段多的话就麻烦了.

3、服务器返回大量数据DataSet的时候,可以采用压缩技术,返回Byt[]二进制数组,并且打包压缩传输。

总结:

WebService传输数据时,参数类型最好是简单数据类型,或者直接是个xml字符串.

这样能够避免各个系统之间的兼容性问题(跨语言性)。

 

抱歉!评论已关闭.