Вызов метода внутри веб-сервиса в скрипте действия 3.0 - PullRequest
0 голосов
/ 08 апреля 2009

Мне нужно вызвать метод внутри веб-сервиса и передать ему его параметры из скрипта действия 3.0 кто-нибудь может мне помочь плз? Я искал по всему интернету и нашел решения с Flex, и я не работаю с Flex, я работаю со сценарием действия 3.0

Ответы [ 3 ]

1 голос
/ 08 апреля 2009

Вот код, который я использовал в одном из моих проектов Flex ...

import mx.rpc.soap.WebService;

public var service:WebService = new WebService();

override protected function initializationComplete():void
{
    service.wsdl = "http://localhost:1133/YourService.asmx?wsdl"

    // GetPayload is the method name you're calling on your web service
    service.GetPayload.resultFormat = "e4x";
    service.GetPayload.addEventListener("result", yourResultHandler);
    service.GetPayload.addEventListener("fault", yourFaultHandler);

    // Method to call once the WSDL is loaded
    service.addventListener(LoadEvent.LOAD, loadHandler);

    service.loadWSDL();
}

Тогда вот что происходит после загрузки WSDL

protected function loadHandler(event:LoadEvent):void
{
    // send() takes the service parameters
    service.GetPayload.send("Product");
}

Вам просто нужно написать два метода для обработки XML, возвращаемого вашими сервисами (данные возвращаются в формате e4x:

protected function yourResultHandler(event:ResultEvent):void
{
    _messageXml = XML(event.result);
}

proteted function yourFaultHandler(event:FaultEvent):void
{
    Alert.show(event.toString());
}
1 голос
/ 08 апреля 2009

Я использую что-то вроде этого:

var request:URLRequest = new URLRequest();
request.url = 'http://example.org';

// If you're POSTing data:
request.method = URLRequestMethod.POST;
request.data = new URLVariables({ /* Your object */ });

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES; // If you're using POST
try {
    loader.load(request);
} catch(error:Error) {
    // Handle error
}

trace(loader.data); // Result

Документация:

0 голосов
/ 04 января 2010

вы можете использовать веб-сервисы одним из хитрых способов, сначала создавая SWF-файл, скомпилированный в среде Flex, который включает операторы импорта веб-службы, такие как import mx.rpc.webservices. Теперь скомпилируйте его, вы получите SWF. Теперь вы идете в as3.0 и создаете пустой мувиклип на сцене, а в свойстве linkage импортируете его для совместного использования во время выполнения и помещаете a.swf (ex) в текстовое поле в shared.now, вы можете импортировать оператор в файле сценария действия. импортируйте mx.rpc.webservices.and используйте метод, аналогичный flex. безусловно, вы сможете получить доступ к веб-службам ....

...