Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flex > Flex + Java


Автор: AlDev 7.3.2007, 13:52
Итак, задача - вызвать серверную процедуру и получить от нее что нибудь.
Внимание: Flex Data Services для этого НЕ нужен smile
1. Что такое RPC, SOAP, WSDL и Веб Сервисы
На эту тему исписан не один километр макулатуры и не один мегабайт кода, по сему просто линк на наиболее понравившуюся статью:
http://www.webmascon.com/topics/technologies/8a.asp

2. Сервер
Я использовал Apache Tomcat 5 и Axis (релиз 1.4).
Axis Качать отсюда:
http://www.apache.org/dyn/closer.cgi/ws/axis/1_4/
Как ставить читать тут:
http://ws.apache.org/axis/java/install.html

3. Сервис
Итак, для начала создадим веб сервис, с которым будем общаться.
Создадим простенький классик:
Код

public class HelloSayer {
  public String getHello() {
    return "Hello from web service!";
  }
}

Сохраним его как {webapps}/axis/HelloSayer.jws
где {webapps} - путь к папке web приложений
Открываем:
http://localhost:8080/axis/helloSayer.jws
И получаем:
Цитата

    There is a Web Service here
    Click to see the WSDL 

Кликаем, и видим WSDL файл.
Axis сам скомпиллил наш jws файл и создал wsdl.

4. Клиент
Теперь открываем Flex. Создаем проект HelloSayerClient (ну или как угодно называйте smile )
Код

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
    <![CDATA[
    import mx.controls.Alert;

    private function sendRequest():void {
        WS.getHello.send();
    }
    ]]>
</mx:Script>
    <mx:WebService id="WS" wsdl="http://localhost:8080/axis/HelloSayer.jws?wsdl" useProxy="false" fault="Alert.show(event.fault.faultString), 'Error'">
        <mx:operation result="Alert.show(this.WS.getHello.lastResult)" name="getHello" resultFormat="object">
        </mx:operation>
    </mx:WebService>
    <mx:Button x="0" y="26" label="Get hello" click="sendRequest()" />
</mx:Application>

Теперь компилим и пускаем наше Flex приложение и смело давим на кнопочку. Если все сделано правильно - получите Alert с текстом Hello from web service!

PS:
1. Подробности о том, как создавать свои веб сервисы смотрите в Axis User Guide (идет вместе с билдом в архиве)
2. Подробности о том, как этим делом пользоваться во Flex смотрите в доках по Flex-у:
http://livedocs.macromedia.com/flex/2/docs/00001126.html 


© AlDev: http://z3labs.com/2007/03/07/flex-java-webservices/

Автор: AntonioBanderaz 8.3.2007, 18:52
Сашка, ты чего?  smile 
http://forum.vingrad.ru/topic-133140.html

Яж об этом писал уже? 

Автор: AlDev 9.3.2007, 04:26
AntonioBanderaz
ы. протупил smile
PS: у мну еще как деплоить сервис в томкате с axis написано smile

Автор: Maksys 9.3.2007, 05:48
Молодцы, вы ребята, тока вот на форуме это все отмерает, записать бы это все в фак, WoWa по этому поводу не отвечает... очень много хороших статей AntonioBanderaz написал по AS3 и AlDev по Flex, но жалко все в форуме...

Автор: Dagger 3.6.2007, 13:16
Ребята, спасибо ))) Интересно написали, сразу все понятно )))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)