Bonjour,
j'ai enfin franchi le pas de tester Flex avec Java via blazeds. Sauf que bien sur, j'ai des problèmes de configurations certainement dus à un manque de connaissance de l'appli (d'habitude j'utilise php et Zend).
Basiquement, voilà mon soucis quand j'appelle un service Test et une fonction hello() :
J'ai procédé ainsi :[RPC Fault faultString="Cannot create class of type 'java.Test'." faultCode="Server.ResourceUnavailable" faultDetail="Type 'java.Test' not found."]
1. extraction de la version binaire et du .war de blazeds sous tomcat et lancement du serveur. Un répertoire blazeds est bien crée comme attendu
2. Sous Flash Builder 4, création d'un projet de type "JEE" et "blazeds"
3. Configuration suivante :
- Dossier racine : E:\tomcat\webapps\blazeds
- URL racine : http://localhost:8080/blazeds
- Racine du contexte : /blazeds
4. création d'un mxml simple :
5. mon service Test Java est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> <fx:Declarations> <s:RemoteObject id="java" destination="test" source="Test" > <s:method name="hello" result="helloResult(event)" fault="helloFault(event)" /> </s:RemoteObject> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; protected function helloResult(e:ResultEvent):void { Alert.show(e.result.toString()); } protected function helloFault(e:FaultEvent):void { Alert.show(e.fault.toString()); } ]]> </fx:Script> <s:layout> <s:VerticalLayout /> </s:layout> <s:Label text="test!" /> <s:Button click="java.hello()" label="hello !"/> </s:Application>
cette classe est compilée en .class est placée sous E:\tomcat\webapps\blazeds\WEB-INF\classes\java\Test.class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 package java; public class Test{ public String hello(){ return "hello !"; } }
6. j'ai configuré le fichier E:\tomcat\webapps\blazeds\WEB-INF\flex\remoting-config.xml en ajoutant le node suivant :
7. j'ai relancé catalina
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <destination id="test"> <properties> <source>java.Test</source> </properties> <adapter ref="java-object"/> </destination>
voilà en gros ce que j'ai fais mais rien à faire, j'obtiens toujours une erreur. J'ai bien sur testé différentes configurations dans remoting-config.xml, testé différentes propriétés source dans mon mxml mais rien
Le pire là dedans c'est que ca doit être évident mais je vois pas ^^
Merci à celui qui pourra me sortir du bourbier
Merci
PS: pour info j'ai suivi (entre autres) ce tuto
Partager