【原创】Flex通过Hessian与Java通信

hessian在Java端相对已经很成熟了,flex端资料很少,简单说下客户端的做法。

准备条件:Java提供了一个servlet,这个类提供了一个可供调用的helloworld方法。

 

 

Flex端首先要定义一个类,来实现IResponder接口,这是个铺垫,通信的时候要用到。

 

 

import mx.rpc.IResponder;

	public class MyResponder implements IResponder
	{
		private var _a:Function;
		private var _b:Function;
		public function MyResponder(result:Function,fault:Function)
		{
			_a = result;
			_b = fault;
		}
		//onResult  call the call back function
		public function call_a(data:Object):void
		{
			_a.call(null,data);
		}
		//onFault call the fault handler
		public function call_b(info:Object):void
		{
			_b.call(null,info);
		}
		//the function in IResponder
		public function result(data:Object):void
		{
			call_a(data);	
		}
		//the function in IResponder		
		public function fault(info:Object):void
		{
			call_b(info);
		}
		
	}

 

每次发送请求都要声明一个HessianService,每个请求都要有独自的HessianService来服务。每次请求应答有一个call object对象用来储存一些额外的东西,也就是传说中的call back方式,AS也完全是异步的事件处理。为了方面,有一个叫做AsyncToken的类,已经封装好了,发送请求的时候new一个token,这个token要加上一个responder,来对返回结果进行处理。代码如下:

private function callHello():void
			{
				var service:HessianService=new HessianService("http://10.1.0.69:8080/learnHessian/learnhessian");
				var token:AsyncToken=service.hello.send();
				token.addResponder(new MyResponder(myResultHandler, myFaultHandler));
			}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值