我使用 Flash Builder 的 4.5 功能为给定的 SOAP 服务自动生成代理类。除了 WSDL url 被硬编码到自动生成的代理类中之外,一切都很好。
现在,当我将 Flex 应用程序部署到生产服务器上时,我想更改 SOAP 服务的路径,该路径将从配置文件中获取。服务的内部结构将完全相同。在下面的代码片段中,我尝试在自动生成的代理的子类中手动交换 wsdl url,这是 Adobe 推荐的方法......
/**
* Override super.init() to provide any initialization customization if needed.
*/
protected override function preInitializeService():void
{
super.preInitializeService();
// Initialization customization goes here
super.wsdl = "http://s174667r2ycj0l1/mscviewer/MySecretService.asmx?wsdl";
super.useProxy = false;
}
但是,我总是收到以下错误:“[RPC Fault faultString="您必须指定 WSDL 位置,并将 useProxy 设置为 false。" faultCode="Client.WSDL" faultDetail="null"] 在 mx.rpc.soap:: WebService/loadWSDL()"
有人可以告诉我我在这里做错了什么,或者是否有更好的方法来交换 wsdl 位置?