在Flex 3中,内省Web服务导致构造函数允许Web服务的位置在运行时更改。 Web Service内省工具现在似乎只允许在WS向导中指定的单个WSDL URI。这是个案,还是我错过了什么?
Flex 3内省服务将使用以下构造函数签名创建服务类:
private var service:MyWebService;
service= new MyWebService(null, wsdlLocation); // With parameters
或者您可以使用:
service = new MyWebService(); //with no parameters
在Flex 4中,您似乎只能使用:
service = new MyWebService();
因此,如果您在运行时之前不知道Web服务器的位置,我是否需要手动覆盖instrospected / generated _super_MyWebService.as类,以便在运行时恢复指向不同服务器的能力?
任何人都知道为什么会发生这种变化,或者Flash Builder 4 Web服务自省工具用于动态服务器的“新”方式是什么?
答案 0 :(得分:0)
我在Adobe论坛上找到了这个问题的解决方案。
解决方案是在创建服务后设置wsdl属性:
var service:MyWebService = new MyWebService();
service.wsdl = "location to the wsdl";
应该注意的是,使用Flash Builder 4 Web服务内省工具将自动填充超类中的wsdl位置。根据Adobe论坛上的帖子,有必要删除超类中的wsdl位置,否则该值不会被重置。