加载webservice的as3中出现错误#1009

时间:2013-06-14 14:14:24

标签: actionscript-3 flash

我正在尝试通过动作脚本连接到网络服务,但我收到错误:

  

TypeError:错误#1009:无法访问空对象引用的属性或方法。       在wsdlMain()

package {

import flash.display.*;
import flash.events.*;
import flash.net.*;
//webservices wsdl
import mx.rpc.soap.*;
import mx.core.*;
import mx.rpc.events.*;

public class wsdlMain extends MovieClip
{
    public var myWebService:WebService; 
    public var rutaWebService:String;
    public var element:Operation;

    public function wsdlMain()
    {   
        myWebService.addEventListener("LOAD", loadDone);
        cargarWSDL();
    }

    public function cargarWSDL (){
        var myWebService = new WebService();

        myWebService.loadWSDL("http://localhost:8080/myTurn/servlet/sequencegenerator?wsdl");
    }

    public function loadDone(evt:LoadEvent)
    {
        trace ("holaaaa222");
        element = Operation(myWebService.getOperation("Execute"));
        element.addEventListener("fault", wsError);
        element.addEventListener("result", wsResult);
        element.send(1);
    }
    public function wsError(evt:FaultEvent)
    {
        trace ("chau");
    }
    public function wsResult(evt:ResultEvent)
    {
        trace ("hola");
        var xml:XML = XML(evt.result);
        trace(xml.toXMLString());
    }


}
}

非常感谢任何方向!!!

1 个答案:

答案 0 :(得分:1)

您尝试在myWebService存在之前添加事件侦听器。调用cargarWSDL(); 之前添加事件监听器。

此外,在函数cargarWSDL()中,您再次声明myWebService (它已经被声明为类变量),更糟糕的是,您将其声明为 local < / em>变量只在函数内部可见,因此从“var myWebService = new WebService();”中删除“var”。