Apache flex 如何通过flashvars更改webservice URL
我正在使用部署在SAPWeb应用服务器上的webservice创建一些图表。在将FLEX应用程序从dev迁移到QA时,我还希望在FLEX中更改目标webservices的地址,以便它们从QA访问webservices。我所做的是将目标服务器地址添加为URL参数,并将这些URL参数添加为Flex中的FlashVar var wsdlUrl=window.location.search.substring(1)Apache flex 如何通过flashvars更改webservice URL,apache-flex,Apache Flex,我正在使用部署在SAPWeb应用服务器上的webservice创建一些图表。在将FLEX应用程序从dev迁移到QA时,我还希望在FLEX中更改目标webservices的地址,以便它们从QA访问webservices。我所做的是将目标服务器地址添加为URL参数,并将这些URL参数添加为Flex中的FlashVar var wsdlUrl=window.location.search.substring(1) flashvars.serverUrl=wsdlUrl 现在,我尝试在声明Web服务时访
flashvars.serverUrl=wsdlUrl 现在,我尝试在声明Web服务时访问FlashVar
<fx:Declarations>
<cscustomreportservice:CSCustomReportService
id="cSCustomReportService" useProxy="false" wsdl="{FlexGlobals.topLevelApplication.parameters.serverUrl}"
fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
...
</fx:Declarations>
...
但是FlashVar在声明期间是不可访问的
是否有任何方法可以在运行时传递服务器URL,这样无论如何都不需要在Flex应用程序中硬编码URL
致以最良好的祝愿,
Nakul只需转到\src\services
在services文件夹中,将有一个带有服务名称的文件夹。在这个文件夹中,将有2个文件,其中,打开一个以“\”(下划线)开头的文件
在这个文件中,您可以修改链接/URL。您可以通过使用src文件夹下的自定义Config.xml文件来实现这一点。 在应用程序的main.mxml中,有一个可以在应用程序中访问的静态变量
public static var endpointUrl:String;
对config.xml进行HTTPService调用
<mx:HTTPService id="configSrv"
url="config.xml"
resultFormat="e4x"
result="configResultHandler(event)"/>
现在在标记中,您可以像这样调用静态变量
<cscustomreportservice:CSCustomReportService id="cSCustomReportService" useProxy="false" wsdl="{Main.endPointURL}" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
示例config.xml供您参考:
<channels>
<channel id="endpoint"
endpoint="http://localhost:8080/myApp/"/>
</channels>
你是不是马上就开始拍摄?作为应用程序设置的一部分?您最好等待applicationComplete启动,然后直接设置url。
<channels>
<channel id="endpoint"
endpoint="http://localhost:8080/myApp/"/>
</channels>