Как вызвать метод веб-сервиса с actionscript 2.0 - PullRequest
1 голос
/ 11 июня 2009

Я новичок во флэш-памяти и пытаюсь получить доступ к веб-методу .net, который я создал из Flash CS3, используя AS2. Проблема в том, что я не могу заставить эту работу.

Код следующий:

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();
};

Спасибо

Brian

1 Ответ

1 голос
/ 11 июня 2009

Вот пример с кодом, который я использовал в прошлом:

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 - это имя веб-метода в вашем сервисе для вызова. Если для этого нужны параметры, они добавляются так:

service.SomeWebMethod.send(param1, param2, ...);
...