Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3255359
  • 博文数量: 530
  • 博客积分: 13360
  • 博客等级: 上将
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-13 13:32
文章分类

全部博文(530)

文章存档

2017年(1)

2015年(2)

2013年(24)

2012年(20)

2011年(97)

2010年(240)

2009年(117)

2008年(12)

2007年(8)

2006年(9)

分类: 系统运维

2009-08-16 15:07:06

    Flex 调用远程或所在web应用的 BlazeDS服务时,必须建立和远端的通道channel,才能正常通信。
1. 通常的方式是 Flex 在编译时就指定远程的端点 Endpoint,service-config.xml 中的Endpoint 配置是 例如:
Xml代码 复制代码

   1.


    编译时指定的方式是在加编译参数,例如:
引用
-services "services-config.xml" -context-root "/HelloBlazeds"

   services-config.xml 需要放在当前目录下,或者指定BlazeDS所在的配置文件路径。



2. 在 对象中指定Endpoint参数:
     例如:
   
Xml代码 复制代码

   1.  




     1) 全路径: endpoint="" >
     2) 基于contextRoot: endpoint="/HelloBlazeDS/messagebroker/amf" >
     3) 基于当前路径:   endpoint="messagebroker/amf" >

总结:
    对于Flex+BlazeDS集成开发,方式1,和2.1),2.2) 对于企业应用来说都不是最佳方案,因为他将 contextroot写死了,不便于移植,也就是说,编译后的 swf 放到其他应用下无法调用BlazeDS服务;
    而对于互联网应用,如果假定 endpoint地址比较固定,编译时指定contextroot或endpoint全路径则是较好的选择,例如一个从google搜索信息Flex的小程序,放到桌面也能跑起来。

[参考资料]
1.
2.

   摘自《Flex+BlazeDS集成开发的编译问题

阅读(2496) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~