我正在Mate框架之上開發Flex應用程序。 在這個應用程序中,我使用web服務來檢索數據。
由於此webservice不是修復的位置URL(取決於客戶安裝的位置),我在配置文件中定義了此URL。 當Flex應用程序啓動時,它首先讀取這個配置文件,然後我想使用我發現的值來初始化webservice。
但目前,我不知道如何做到這一點。使用Flex和Mate框架在運行時初始化webservice WSDL
這裏是我的EventMap.mxml
<EventMap>
<services:Services id="services" />
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
<HTTPServiceInvoker instance="{services.configService}">
<resultHandlers>
<MethodInvoker generator="{ConfigManager}" method="loadFromXml" arguments="{resultObject}" />
</resultHandlers>
<faultHandlers>
<InlineInvoker method="Alert.show" arguments="ERROR: Unable to load config.xml !" />
</faultHandlers>
</HTTPServiceInvoker>
在這一部分中,CONFIGMANAGER解析配置文件和intitialize稱爲webServiceWsdl
這裏可綁定屬性是我Services.mxml
<mx:Object>
<mx:Script>
<![CDATA[
[Bindable] public var webservice:String;
]]>
</mx:Script>
<mx:HTTPService id="configService" url="config.xml" useProxy="false" />
<mx:WebService id="dataService" wsdl="{webservice}" useProxy="false"/>
</mx:Object>
如何初始化此webservice pro perty?
對不起,我遲到的答案。正如普雷斯頓所說,我沒有看到我所做的和您的解決方案之間有什麼巨大差異。 此外,我很不情願使用Flex的單身人士 – GroovyB 2010-04-06 11:38:27
也許我誤解了你的問題。但是你說過你「不知道該怎麼做」,所以我認爲你發佈的代碼不起作用。我在這裏發佈的解決方案是我多次成功使用的解決方案。其他好處是您可以創建一個描述配置變量的靜態API,並將您的配置從事件映射中分離出來。這是我書中更好的因子。你有什麼反對單身人士?乾杯。 – lach 2010-04-07 01:23:36