动态远程对象url - flex mobile

时间:2012-06-17 18:42:34

标签: flex flex4 blazeds flex-mobile parsley

我差不多完成了我的项目,但现在我想在每个视图中添加动态服务器URL设置。使用config.xml和channels-config.xml的应用程序启动(我使用了Parsley框架)。

config.xml中:

<?xml version="1.0" encoding="utf-8"?>
<fx:Object xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" 
           xmlns:services="services.*">

    <fx:Declarations>
        <services:GenBUS id="genBUS"/>
        <services:KarBUS id="karBUS"/>
        <services:UygBUS id="uygBUS"/>
    </fx:Declarations>

</fx:Object>

渠道-config.xml中:

<objects 
    xmlns="http://www.spicefactory.org/parsley"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.spicefactory.org/parsley 
        http://www.spicefactory.org/parsley/schema/2.4/parsley-core.xsd">

    <object type="mx.messaging.ChannelSet">
        <property name="channels">
                <array>
                    <object type="mx.messaging.channels.AMFChannel">
                        <property name="uri" value="http://localhost:8080/ClinASM/messagebroker/amf"/>
                    </object>
                </array>
        </property>
    </object>

</objects>

方案如下:用户将在登录系统之前更改URL,完成所有操作后,更新的端点URL将保留在SessionClientData.endpoint中,并且在调用服务器端的方法之前,我会分配远程对象类的新端点:

[Inject(id="genBUS")]
public var genBUS:GenBUS;


public function login(username: String, password:String):void {

 //updating endpoint                
 genBUS.endpoint = SessionClientData.endpoint;

 //call responder is created and..              
 loginViewResponder.token = genBUS.getLoginResult(username,password);

}

但是我做错了 - 所以它不起作用......任何建议如何制作一个动态的&amp;容易构建渠道配置?

更新:如何重新配置​​结构,以便客户端上没有“服务”远程对象 - 我不想每次更新Flex服务器部分 - 因为在某些情况下,将会有无法访问的服务器在我的情况下...任何教程或示例配置?

0 个答案:

没有答案