我用FLASH BUILDER 自带的向导生成了WEBSERVICE的类
默认会在src文件夹下生成services.service1目录
包含_Super_Service1.as ,Service1.as
如何调用不再细说
在实际使用时我们一般是需要动态指定WEBSERVICE的URL,也就是WSDL
在网上查了下,说是可以用
var s1:WebService = new WebService()
s1.wsdl="http://.....";
s1.loadWSDL();
这种方法,确实是可以。但这样就意味着你调用 WEBSERVICE的代码都要手写,包括方法、参数。会很累
flashbuilder生成的service是继承WebServiceWrapper如果用类似上面 的写法是行不通的,因为没有loadWSDL()。
可行的办法
在Service1.as重写preInitializeService函数
protected override function preInitializeService():void
{
_serviceControl.service = "Service1";
_serviceControl.port = "Service1Soap";
wsdl = "http://192.168.1.2/ws/service1.asmx?wsdl";
model_internal::loadWSDLIfNecessary();
// Initialization customization goes here
}
改 Service1.as而不是_Super_Service1.as是因为更新Service时不会覆盖Service1.as