我是flash的新手,我正在尝试使用AS2访问我使用Flash CS3创建的.net web方法。问题是我无法做到这一点。
代码如下:
import mx.services.*;
var myXml:XML = new XML();
var ws1:WebService = new WebService("http://localhost/manyworlds/mwframework/webservices/statisticscharts.asmx?wsdl");
ws1.onLoad = function(wsdl:Object){
trace("Load");
//Web method that retrieves a XML.
myXml = ws1.GetTopicsForStatistics();
myXml.load();
};
谢谢,
布赖恩
答案 0 :(得分:1)
以下是我过去使用的代码示例:
var myXml:XML = new XML();
public var service:WebService = new WebService();
service.wsdl = "http://pathToYourWsdl";
service.SomeWebMethod.resultFormat = "e4x";
service.SomeWebMethod.addEventListener("result", resultHandler);
service.SomeWebMethod.addEventListener("fault", faultHandler);
service.addEventListener(LoadEvent.LOAD, serviceLoadHandler);
service.loadWSDL();
protected function serviceLoadHandler(event:LoadEvent):void
{
service.SomeWebMethod.send();
}
protected function resultHandler(event:ResultEvent):void
{
myXML = XML(event.result);
}
protected function faultHandler(event:FaultEvent):void
{
// Handle a service fault here.
}
此代码异步处理所有服务调用,然后将方法调用的结果分配给XML变量。这是非常自我解释。 “SomeWebMethod”将是您要调用的服务中的Web方法的名称。如果它需要参数,它们会像这样添加:
service.SomeWebMethod.send(param1, param2, ...);