解析flex的RemoteService的Endpoint
来源:互联网 发布:淘宝开网店收费吗 编辑:程序博客网 时间:2024/05/22 08:28
做flex远程交互的时候,使用RemoteObject要设置其端点属性,如果在根节点,那么直接使用“/messagebroker/amf”就可以了,但是,如果应用发布在webapp文件夹下面,那么上面指定的endpoint就要报错了,此时必须显式指定endpoint。但是“写死”的方式不够灵活,所以要灵活去指定就必须解析URL了。
下面该类是本人提供的一个可以解析endpoint的类。
/*********************************************** **** 版权声明处 ** **** 为了方便阅读和维护,请严格遵守相关代码规范,谢谢 **** *******************************************/package com.hnisi.screen.common{import mx.core.FlexGlobals;import mx.utils.URLUtil;/******************************************* **** huangjixin,2012-5-24,下午1:30:53 ** **** 全局静态类,可用于保存相关的静态变量或常量 ** *******************************************/[Bindable]public class Global{//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// private 类私有静态变量和静态常量声明处。(全部大写,使用下划线进行分割)// 例如:private static const EXAMPLE:String = "example";//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/private static var _instance:Global;//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// public 类公有静态变量和静态常量声明处。(全部大写,使用下划线进行分割)// 例如:public static const EXAMPLE:String = "example";//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/public var endPoint:String = "http://localhost:8080/gdds_portal/messagebroker/amf";public var url:String = "";public var appFileUrl:String = "http://localhost:8080/gdds_portal/hall_swf/gdds_portal.swf";public var frequency:Number = 900000;//定时播放频率;public var autoPlayFrequent:Number = 900000;//自动播放频率public var basicValue:Number = 34;//基准值public var isWeb:Boolean;//是否基于web;//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// private 私有变量声明处,请以“_”开头定义变量// 例如:private var _example:String;//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// public 公有变量声明处//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// 构造函数,初始化相关工作可以放在里面//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/public function Global(){if(_instance){throw new Error("请使用getInstance函数");}}//构造函数结束//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// getter和setter函数//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_///_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// 相关事件响应函数和逻辑函数存放处//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/public static function getInstance():Global{if (!_instance){_instance = new Global();}return _instance; }/** * 通过解析URL,設置endPoint属性 * @return * */public function setUrl():Boolean{var url:String = "";var endPoint:String = "";url = FlexGlobals.topLevelApplication.url;var isHttpUrl:Boolean = URLUtil.isHttpURL(url);if(!isHttpUrl){return false;}//解析协议;var protocol:String = URLUtil.getProtocol(url);//解析服务器和端口;var serverNameWithPort:String = URLUtil.getServerNameWithPort(url);endPoint = protocol + "://"+serverNameWithPort;//解析应用路径;var array:Array = url.split("/");if(array && array.length>4){endPoint+="/"+array[3];}Global.getInstance().endPoint = endPoint + "/"+'messagebroker/amf';Global.getInstance().isWeb = isHttpUrl;return true;}//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/// override 覆盖函数//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/}//类结束}//包结束
- 解析flex的RemoteService的Endpoint
- Flex解析URL用于RO的EndPoint
- flex中endpoint的作用是什么?
- Endpoint的中文意思
- mule的Endpoint探讨
- openstack的endpoint
- arukas 的 Endpoint
- USB endpoint 的设置
- Flex如何设置endpoint
- (转)flex中的endpoint
- Android中RemoteService的使用详解(Aidl、IPC机制)
- RIA Service 的 SOAP EndPoint
- Flask中endpoint的理解
- Input Endpoint 和 Internal Endpoint的区别和作用
- flex xml的一个解析
- usb的endpoint,pipe之间的关系
- usb的endpoint,pipe之间的关系
- flash8的mx.data.binding.EndPoint
- 黑马程序员--07.集合框架--09.【集合Map】
- 设计模式之:单例模式
- ora-01033:oracle initializationg or shutdown in progress解决方法
- Android(Java):正则表达式
- 如何高效的生成不重复的随机数
- 解析flex的RemoteService的Endpoint
- Oracle创建表空间、创建用户以及授权、查看权限
- perl下关于文件读写,hash统计频数并排序的总结
- 创建型模式--工厂模式
- 什么是自动化测试?
- jQuery LigerUI 使用教程入门篇
- 查询表达式Linq
- HOW TO:验证和更改 MSDE 系统管理员密码
- 数据库课程设计_实验室管理系统_登录