android 通过 Hessian 与 j2ee 服务端交互
最近项目用到,记录一下。
首先,让j2ee那帮兄弟把服务端Hessian实现的接口类以及这个接口类公共方法所传入、返回的那些需要序列化的类给自己,copy也行,打成jar包也行。
接口相关的类的包名和类名也必须得和服务端的相同。
剩下就是客户端加入 hessdroid这个包了,android的一个第三方Hessian库。
调用很简单,下面是示例代码:
view sourceprint?- 01 HessianProxyFactory factory=new HessianProxyFactory();
- 02
- 03 //如果需要用户验证的话
- 04 //factory.setUser("uname");
- 05 //factory.setPassword("xxx");
- 06
- 07
- 08 factory.setReadTimeout(5000);
- 09
- 10 //这个就是和服务端使用的相同的接口,从j2ee兄弟那靠过来,或者他们给的jar包也行,只要包名类名相同。
- 11 XxxxInterfaceService ifs=factory.create(XxxxInterfaceService.class,url,getClass().getClassLoader());
- 12
- 13
- 14
- 15
- 16 //这两个方法是设置使用的hessian协议版本是否为第2版,如果不是的话,就填false
- 17 //factory.setHessian2Reply(false);
- 18 //factory.setHessian2Request(false);
- 19
- 20 //现在可以直接调用接口中的方法了,就和本地一样
- 21 Response r=ifs.getSomthing("somthing");
-
复制代码 很简单,比webservice方便多了。 |