Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 12h33   #1
Futur Membre du Club
 
Inscription : juin 2010
Messages : 80
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juin 2010
Messages : 80
Points : 19
Points : 19
Par défaut Récupérer résultat d'une fonction dans une variable

bonjour
j'interagis avec un webservice afin d'effectuer en premier lieu une operation d'authentification,j'utilise pour cela la fonction ouvrirSession(int):int
elle recoit un variable et retourne un numero de session ,je voudrais stocker le resultat dans une variable afin de l'utiliser comme entrée dans une autre fonction :AuthentifierUtilisataur(int,int,string,string) :
le premier argument est un variable normal
le deuxieme est la variable qui stock le resultat de la premiere fonction
le 3eme et le 4eme argument sont l'id et le motdepasse que je recupere depuis un formulaire
Code :
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
41
42
43
44
45
46
<?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" xmlns:servicessoap="services.servicessoap.*"  >
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
 
// ma premiere fonction qui ouvre une session
 
			protected function button_clickHandler(event:MouseEvent):void
			{
				ouvrirSessionResult.token = servicesSOAP.ouvrirSession(parseInt('idModule'));
			}
 
			internal var idModule:int=14;
//ici je stock le resultat de la fonction precedante		   
 internal var idSession:int=ouvrirSessionResult.lastResult as int;
 
 
			//la 2eme fonction pour authentification 
 
			protected function button2_clickHandler(event:MouseEvent):void
			{
				authentifierUtilisateurResult.token = servicesSOAP.authentifierUtilisateur(parseInt('idModule'),idSession,"identifiant.text","mdp.text");
			}
 
		]]>
	</fx:Script>
	<fx:Declarations>
		<servicessoap:ServicesSOAP id="servicesSOAP" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
		<s:CallResponder id="ouvrirSessionResult"/>
		<s:CallResponder id="authentifierUtilisateurResult"/>
 
		<!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
 
	</fx:Declarations>
 
	<s:Button label="OuvrirSession" id="button" click="button_clickHandler(event)" x="110" y="97"/>
	<s:TextInput x="81" y="181" id="identifiant"/>
	<s:TextInput x="81" y="255" id="mdp"/>
	<s:Button x="98" y="325" label="Button" id="button2" click="button2_clickHandler(event)"/>
	<s:TextArea x="392" y="242" height="35" id="id_sess" text="{authentifierUtilisateurResult.lastResult}"/>
 
</s:Application>
quand j'execute ce code ,j'ai une page vierge ,ca n'affcihe meme pas le formulaire
merci d'avance pour votre aide
execrable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 11h03   #2
Futur Membre du Club
 
Inscription : juin 2010
Messages : 80
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juin 2010
Messages : 80
Points : 19
Points : 19
j'ai fait cela

Code :
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
41
42
43
44
45
46
47
48
49
50
51
<?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" xmlns:servicessoap="services.servicessoap.*"  >
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.FlexEvent;
 
 
			protected function button_clickHandler(event:MouseEvent):void
			{
				ouvrirSessionResult.token = servicesSOAP.ouvrirSession(parseInt('idModule'));
				 var idSession:int=ouvrirSessionResult.lastResult as int;
 
			}
 
			internal var idModule:int=14;
			//internal var idS:int=1;
 
 
 
 
 
			protected function button2_clickHandler(event:MouseEvent):void
			{
				authentifierUtilisateurResult.token = servicesSOAP.authentifierUtilisateur(parseInt('idModule'),parseInt('idSession'),"identifiant.text","mdp.text");
			}
 
		]]>
	</fx:Script>
	<fx:Declarations>
		<servicessoap:ServicesSOAP id="servicesSOAP" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
		<s:CallResponder id="ouvrirSessionResult"/>
		<s:CallResponder id="authentifierUtilisateurResult"/>
		<s:CallResponder id="ouvrirSessionResult2"/>
 
		<!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
 
	</fx:Declarations>
 
	<s:Button label="OuvrirSession" id="button" click="button_clickHandler(event)" x="76" y="44"/>
	<s:TextInput x="81" y="181" id="identifiant"/>
	<s:TextInput x="81" y="255" id="mdp"/>
	<s:Button x="98" y="325" label="Button" id="button2" click="button2_clickHandler(event)"/>
	<s:TextArea x="249" y="45" height="20" id="textArea" text="{ouvrirSessionResult.lastResult}"/>
 
// aprés le succés de l'authentification ,j'affiche le resultat (certificat)
	<s:TextArea x="393" y="220" height="73" id="textArea2" text="{authentifierUtilisateurResult.lastResult}"/>
 
</s:Application>

aprés execution ca me remonte l'erreur suivante
Code :
1
2
SOAP Response cannot be decoded. Raw response: 
null
execrable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 14h35   #3
Membre éclairé
 
Inscription : janvier 2004
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 319
Points : 384
Points : 384
Premiere question bête : quelle est la réponse attendue du WS?
Kantizbak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 19h44   #4
Futur Membre du Club
 
Inscription : juin 2010
Messages : 80
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juin 2010
Messages : 80
Points : 19
Points : 19
la reponse a la fonction d'authentification est un certificat de connex (cela veut dire que l'authentification a reussis)
execrable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2011, 09h16   #5
Membre éclairé
 
Inscription : janvier 2004
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 319
Points : 384
Points : 384
Citation:
Code :
1
2
3
4
 
authentifierUtilisateurResult.token = 
servicesSOAP.authentifierUtilisateur(parseInt('idModule'),parseInt('idSession'),
"identifiant.text","mdp.text");
forcément tu passe à ton service web les valeurs "identifiant.text" et "mdp.text"

Code :
1
2
3
4
 
authentifierUtilisateurResult.token = 
servicesSOAP.authentifierUtilisateur(parseInt('idModule'),parseInt('idSession'),
identifiant.text,mdp.text);
sans les guillemets car tu as besoin du champ text des composants identifiant et mdp
Kantizbak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 10h29   #6
Futur Membre du Club
 
Inscription : juin 2010
Messages : 80
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juin 2010
Messages : 80
Points : 19
Points : 19
toujours le meme probleme
Code :
1
2
SOAP Response cannot be decoded. Raw response: 
null
je crois qu'il n'arrive pas a lire et a afficher le resultat(le certificat de connexion) pourtant c juste une chaine de caractere ,quelqun aurait une idée ?
execrable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 00h54   #7
Membre éclairé
 
Inscription : janvier 2004
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 319
Points : 384
Points : 384
Citation:
Envoyé par execrable Voir le message
toujours le meme probleme
Code :
1
2
SOAP Response cannot be decoded. Raw response: 
null
je crois qu'il n'arrive pas a lire et a afficher le resultat(le certificat de connexion) pourtant c juste une chaine de caractere ,quelqun aurait une idée ?
Bon
Selon moi, si ça ne marche pas il faut savoir pourquoi. As-tu utilisé le debugger pour savoir si tes valeurs rentrées dans ton champ texte sont bien les valeurs que tu envoie au WS?
Es-tu certain des paramètres que tu passes d'une manière générale?
Kantizbak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 11h49   #8
Futur Membre du Club
 
Inscription : juin 2010
Messages : 80
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : juin 2010
Messages : 80
Points : 19
Points : 19
bon j'ai essayé de tracer les resultats et dans la premiere fonction d'ouverture de session j'ai mis des traces:
Code :
1
2
3
4
5
6
7
8
9
10
protected function button_clickHandler(event:MouseEvent):void
			{
				trace("OKKKK");
				ouvrirSessionResult.token = servicesSOAP.ouvrirSession(parseInt('idModule'));
				trace("OKKKK2222");
 
				var idSession:int=parseInt('ouvrirSessionResult.result');
				trace(idSession);
 
			}
et j'ai comme resultat :
Code :
1
2
3
4
5
6
7
8
9
[SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf\[[DYNAMIC]]\2 - 2*311*734 octets après la décompression
[SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf\[[DYNAMIC]]\3 - 370*463 octets après la décompression
[SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf\[[DYNAMIC]]\4 - 441*362 octets après la décompression
[SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf\[[DYNAMIC]]\5 - 1*432*382 octets après la décompression
[SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf\[[DYNAMIC]]\6 - 323*354 octets après la décompression
OKKKK
OKKKK2222
0
[Décharger SWF] C:\Documents and Settings\FLEX\Authentifi\bin-debug\Authentifi.swf
donc pour le trace idSession il renvoi 0 cela veut dire qu'il ne stock pas le resultat de la fonction de l'ouverture de session ,donc le problème est dans cette ligne :
Code :
var idSession:int=parseInt('ouvrirSessionResult.result');
execrable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 09h53   #9
Membre éclairé
 
Inscription : janvier 2004
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2004
Messages : 319
Points : 384
Points : 384
Citation:
Envoyé par execrable Voir le message
Code :
1
2
 
var idSession:int=parseInt('ouvrirSessionResult.result');
Toujours pareil. Tu utilise une fonction sur une variable entre guillemets.
Il faut faire attention ou revenir aux bases de la programmation
Kantizbak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h51.


 
 
 
 
Partenaires

Hébergement Web