论坛首页 编程语言技术论坛

使用RemoteObject调用后台服务

浏览 5222 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-01  
在我的“flex+blazeDS+java示例”http://yiyu.iteye.com/admin/blogs/549728中,调用后台服务是在mxml文件中定义<mx:RemoteObject>实现的,后来发现其实可以不使用<mx:RemoteObject>,而是在ActionScript代码中使用mx.rpc.remoting.RemoteObject实现。

以下就是相关的代码:

package test.client.model
{
	import mx.messaging.ChannelSet;
	import mx.messaging.channels.AMFChannel;
	import mx.rpc.events.FaultEvent;
	import mx.rpc.events.ResultEvent;
	import mx.rpc.remoting.Operation;
	import mx.rpc.remoting.RemoteObject;
	
	public class UserModel
	{
		const ENDPOINT : String = "http://localhost:8080/test-server/messagebroker/amf";
		var ro : RemoteObject;
		
		public function UserModel()
		{
			ro = new RemoteObject();
			ro.destination = "echoServiceDestination";
			var c : AMFChannel = new AMFChannel(null, ENDPOINT);
			var cs : ChannelSet = new ChannelSet();
			cs.addChannel(c);
			ro.channelSet = cs;
		}

		public function isUserValid(username:String, password:String):void
		{
			var op : Operation = Operation(ro.getOperation("echo"));
			op.addEventListener(ResultEvent.RESULT, resultOfEcho);
			op.addEventListener(FaultEvent.FAULT, faultOfEcho);
			op.send(username + " " + password);
		}
		
		public function resultOfEcho(event:ResultEvent):void {
			trace(event.result);
		}
		
		public function faultOfEcho(event:FaultEvent):void {
			trace(event.fault);
		}
	}
}
   发表时间:2010-02-24  
这不是很显而易见的道理吗?mxml中的代码都可以在as中实现
0 请登录后投票
   发表时间:2010-02-24  
jsp最后不还是Java.没有MXML语言,只有As
0 请登录后投票
   发表时间:2010-02-24  
哦,刚开始学Flex,长知识了,谢了
0 请登录后投票
   发表时间:2010-03-10  
请问楼主,你的访问的远程地址都是写死的,有没有办法可以不写死呢?

就是http://localhost:8080/test-server/这块。
0 请登录后投票
   发表时间:2010-04-02  
koflove 写道
请问楼主,你的访问的远程地址都是写死的,有没有办法可以不写死呢?

就是http://localhost:8080/test-server/这块。


写在 xml配置文件里,然后再从里面读取?
0 请登录后投票
   发表时间:2010-04-09  
呵呵,mxml代码编译时都会全部转为as代码,你可以自己截获的看看,很有帮助
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics