【问题标题】:Flash Builder 4 Web Service Introspection for dynamic wsdl location用于动态 wsdl 位置的 Flash Builder 4 Web 服务自省
【发布时间】:2010-10-26 14:51:10
【问题描述】:

在 Flex 3 中,自省 Web 服务会产生一个构造函数,该构造函数允许 Web 服务的位置在运行时更改。现在看来,Web 服务自省工具只允许在 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 服务器的位置,我是否需要手动覆盖自省/生成的 _super_MyWebService.as 类,以便恢复在运行时指向不同服务器的能力?

有人知道为什么会发生这种变化,或者 Flash Builder 4 Web 服务自省工具用于动态服务器的“新”方式是什么?

【问题讨论】:

    标签: apache-flex flex3 flex4 introspection


    【解决方案1】:

    我在 Adob​​e 论坛上找到了这个问题的解决方案。

    解决方案是在创建服务后设置 wsdl 属性:

    var service:MyWebService = new MyWebService();
    service.wsdl = "location to the wsdl";
    

    需要注意的是,使用 Flash Builder 4 Web 服务自省工具会自动填充超类中的 wsdl 位置。根据 Adob​​e 论坛上的帖子,必须删除超类中的 wsdl 位置,否则该值不会被重置。

    【讨论】:

    • 这显然只能在服务被声明为变量的情况下完成。如果它在标记中声明并且您设置了动态 WSDL,您将收到 The requested service "was not found in the WSDL file."
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多