Salut
ça fait plus que 2 semaines que j'essaye désespérément de faire la liaison entre Flex et la couche métier, en fait j'ai choisit d'utiliser web service, ça marche très bien quand je vais faire l'appel de Flex à mon web service pour une fonction simple où il n'y a pas des appels à la couche DAO, mais dans la deuxième cas ça marche pas, c'est à dire pour une fonction qui doit accéder à ma base de données.
Tandis que j'ai bien testé mon web service et ça marche parfaitement bien
Je ne sais pas si quelqu'un a une idée, sinon est-ce que je dois utiliser struts au lieu de Flex.
Le web service que je l'ai testé et ça marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public String getEtapes() { EtapeManagerImpl etapeManagerImpl = new EtapeManagerImpl() ; String s="" ; List<Etape> l = etapeManagerImpl.getList() ; for(int i=0;i<l.size();i++){ s = s + "\t" +l.get(i).getIdEtape() ; } return s ; }
Le code MXML pour faire l'appel à mon web service qui est le même code que je l'utilise pour appeler des fonctions de web service dont j'ai pas besoin d'accéder à la base
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 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" height="396"> <mx:WebService id="injection" wsdl="http://localhost:8400/Flex_Injection/services/InjectionWS?wsdl" > <mx:operation name="addEtape" /> <mx:operation name ="HelloWorld"/> <mx:operation name="getEtapes"/> </mx:WebService> <mx:Panel title="Appel à un Web Service" paddingBottom="30" paddingLeft="30" paddingRight="30" paddingTop="30"> <mx:Button label="Appel au WebService" click="clickHandler(event)"/> <mx:Label text="{injection.getEtapes.lastResult}"/> <!--mx:ComboBox id="country" dataProvider="{statesService.getCountries.lastResult}"/--> </mx:Panel>
Le code d'erreur
[RPC Fault faultString="HTTP request error" faultCode="Server.Error.
Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Erreur de flux. URL: http://localhost:8400/Flex_Injection/services/InjectionWS"]. URL: http://localhost:8400/Flex_Injection/services/InjectionWS"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:216]
at mx.rpc::Responder/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:49]
at mx.rpc::AsyncRequest/fault()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
at DirectHTTPMessageResponder/errorHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:343]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/redirectEvent()
Partager