`
wxb880114
  • 浏览: 670705 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Axis2中的webservice服务器端与客户端之间的大数据量的对象传递方法

阅读更多

     public Raster2D dataView(String path) throws Exception{
	   
	     Raster2D raster2D=RasterReadWrite.read(path);
	     System.out.println(path);
	    // Raster2D raster2D=new Raster2D(0, 0, 30, 10, 23, 9999, "hy");
       //	   				
		 return  raster2D;
	}


首先,看dataView是个wsdl描述服务的接口的一个具体:这里需要传递一个Raster2D这个实例,raster2D是个栅格数据,数据量比较大,在从服务端传递到客户端时,会出现,OutOfMeimery或Java heap 。。错误。

如何解决这一问题呢?
1.Axis2中是否有这个大数据量对象传递的方法,找了半天,自身查资料的能力有限,还是放弃了。
2.这跟我的在用SuperMap iClient开发时,发现查询的时候,数据量也很大,它是怎么实现的呢,于是查查资料,做了点功课。

     public String  dataView(String path) throws Exception{
	   
	     Raster2D raster2D=RasterReadWrite.read(path);
	     System.out.println(path);
	    // Raster2D raster2D=new Raster2D(0, 0, 30, 10, 23, 9999, "hy");
     [color=red]  //	   将Raster2D转化为 json对象
			JSONObject jsonObject = JSONObject.fromObject(raster2D);
			  String rasterString=jsonObject .toString();[/color]
				
		 return  rasterString;
	}


就这样做了个转换将对象转换为JSON对象,然后toString变成字符串,对于基本对象字符串的传递那自然木有什么大的问题咯。


接下来需要对在客户端解析Json对象,将数据利用起来。
---(daixu)
  • 大小: 28.2 KB
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics