Bonjour, je commence le développement en flex et mon objectif et de développer un client pour une plateforme BI.
Mon application cliente sous flex doit accéder à un certain nombre de services tournant sur la plateforme BI.
Mon service est définit de cette façon:

<mx:WebService id="ws" wsdl="http://localhost:8080/SpagoBI/services/WSSessionService?wsdl">
<mx:operation name="openSession" result="onResult(event)" fault="onFault(event)" />
<mx:operation name="getDocuments" result="onResult2(event)" fault="onFault(event)"/>
<mx:operation name="isValidSession" result="onResult3(event)" fault="onFault3(event)"/>
</mx:WebService>
dans mon code j'appelle la méthode ws.openSession qui s'exécute correctement.

Mon problème se présente lorsque je veux ensuite appeler la methode isValidSession. Celle si est sensée vérifier la validité de la session en cours et me renvoyer un booléen. Je recois systématiquement faulse ce qui signifie que la session n'est pas validée ce qui m'empechera d'avoir un résultat si j'appelle la méthode getDocuments.

Il semble que mes deux méthodes sont appelées dans des sessions différentes comment doi-je faire pour qu'une seule session soit utilisée pour tout les appels à mon web service?

voici le code de mon application client:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="986" height="574">

<mx:Script>
<![CDATA[

import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.ObjectProxy;

private function onResult(event:ResultEvent): void {
ws.isValidSession();
}
private function onResult2(event:ResultEvent): void {
var result:String = event.result as String;

}
private function onResult3(event:ResultEvent): void {
var result:Boolean = event.result as Boolean;
if ( result == true)
{
Alert.show("Session Valide")
ws.getDocuments(null, null, null)
}
else
{
Alert.show("Session Invalide");
}

}

private function onFault(event:FaultEvent): void {
Alert.show("Error");
}
private function onFault3(event:FaultEvent): void {
Alert.show("Error3");
}

private function callWS():void {

ws.openSession( user.text, pwd.text);
}
]]>
</mx:Script>

<mx:WebService id="ws" wsdl="http://localhost:8080/SpagoBI/services/WSSessionService?wsdl">
<mx:operation name="openSession" result="onResult(event)" fault="onFault(event)" />
<mx:operation name="getDocuments" result="onResult2(event)" fault="onFault(event)"/>
<mx:operation name="isValidSession" result="onResult3(event)" fault="onFault3(event)"/>
</mx:WebService>

<mx:Label x="184" y="156" text="Username"/>
<!-- <mx:Image x="184" y="74">
<mx:source>file:///C|/Documents and Settings/Stagiaire/Bureau/Pic/logo.gif</mx:source>
</mx:Image>-->
<mx:TextInput id="user" x="184" y="173" width="80"/>
<mx:Label text="Password"/>
<mx:TextInput id="pwd" x="184" y="218" width="80"/>
<mx:Button label="OK" click="callWS()"/>
<mx:TextArea id ="contenu"/>

</mx:Application>