Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как по wsdl описанию сервиса получить заглушку на клиенте во флэше? (http://www.flasher.ru/forum/showthread.php?t=83505)

DeniOR 07.08.2006 11:52

Как по wsdl описанию сервиса получить заглушку на клиенте во флэше?
 
Есть web сервис на ява, скажите, есть ли какие - нибудь утилиты, чтобы по wsdl получить actionScript код, т.е. по wsdl описанию сервиса получить заглушку на клиенте во флэше?

ValiQue 07.08.2006 22:23

Зачем утилиты? Просто AS код.

DeniOR 08.08.2006 12:09

Цитата:

Сообщение от ValiQue
Зачем утилиты? Просто AS код.

А поточнее, что имеется ввиду?

ValiQue 08.08.2006 15:07

Итак, магический код:
********************************************
import mx.services.WebService;
import mx.services.PendingCall;

var a:WebService = new WebService("http://YourWebService/InfoService.asmx?wsdl", stockServiceLog);
var temp_pc:PendingCall = a.ListAgenda();
//ListAgenda() - это метод твоего веб сервиса. Можно передавать параметры в скобках в случае необходимости.
********************************************
:drinks:
//получаешь, например, массив результатов (result[i]) и дальше работаешь с ними как обычно.
temp_pc.onResult = function(result:Array) {
_root.tf= result[1].ID+result[1].Text;
};
temp_pc1.onFault = function() {
_root.tf = "Unable to connect to server";
};

DeniOR 08.08.2006 18:50

Цитата:

Сообщение от ValiQue
Итак, магический код:
********************************************
import mx.services.WebService;
import mx.services.PendingCall;

var a:WebService = new WebService("http://YourWebService/InfoService.asmx?wsdl", stockServiceLog);
var temp_pc:PendingCall = a.ListAgenda();
//ListAgenda() - это метод твоего веб сервиса. Можно передавать параметры в скобках в случае необходимости.
********************************************
:drinks:
//получаешь, например, массив результатов (result[i]) и дальше работаешь с ними как обычно.
temp_pc.onResult = function(result:Array) {
_root.tf= result[1].ID+result[1].Text;
};
temp_pc1.onFault = function() {
_root.tf = "Unable to connect to server";
};

Это же не удобно, особенно учитывая, то что используются большие структуры данных, т.е. классы и их массивы. Придется все делать руками.
Cервис оч. большой. Один из клиенто для него на дельфи, а второй нужен на флэше.
В Дельфи проблем нет - там стандартная утилита, которая строит заглушку из wsdl.
Вопрос как быть с Флэшем?
Руками - не вариант.

DeniOR 09.08.2006 19:28

Если кому интересно - ответ найден. Во Флэше не нужна заглушка. Компонента WebServiceConnector уже содержит в себе все необходимое. Сам парсит wsdl и получает классы в нужном виде.


Часовой пояс GMT +4, время: 17:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.