让Flex WebServices共享一个共同的wsdl

时间:2011-08-03 20:01:04

标签: flex wsdl

我有一个flex应用程序,它在运行时加载WSDL并在我定义的几个不同的Web服务之间共享。不幸的是,对loadWSDL()的每次调用都会对它发出网络请求,虽然由于缓存而不是真正的问题但是生成所有这些请求仍然很烦人且浪费。有没有更简单的方法来解决这个问题,只提出一个网络请求?

我的代码目前如下:

var services:Array = ['service1', 'service2', ...]
for each (var name:String in services) {
  var s:WebService = ServiceLocator.getInstance().getService(name) as WebService;
  s.wsdl = wsdl;
  s.loadWSDL();
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果加载的每个WSDL的接口彼此不同(即它们具有不同的Web操作),那么您别无选择,只能单独加载每个接口/ WSDL。它们需要在客户端缓存,因此您的应用程序可以键入表示Web服务的属性和函数。

如果你加载一个wsdl并且你的客户端代码甚至没有在它上面调用任何东西,那么你真的会对自己做一次失败。