2009-06-11 2 views
1

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

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

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

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

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 v ariable. Это довольно самостоятельное объяснение. «SomeWebMethod» будет именем веб-метода в вашей службе для вызова. Если нужны параметры, они добавляются следующим образом:

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

Джастина, Спасибо за ваш быстрый ответ. Я все еще не могу сделать эту работу. Я не знаю, работает ли это только для flex или также для flash cs3, потому что когда я добавляю требуемый импорт для мыльной веб-службы (import mx.rpc.soap.WebService), я получаю сообщение об ошибке, говоря, что этот класс не может быть загружен. Любые мысли? Спасибо за помощь. Brian –

+1

Возможно, вам придется загрузить SDK Flex 2 и добавить классы WebService в настройки параметров Flash Class. –

+0

Это выглядит как AS3-код? – Panzercrisis