Bonjour à tous.
J'essaye de mettre en place gSoap dans un programme... Seulement, j'ai quelques difficultés qui je pense ne sont pas dues à GSoap, mais je n'arrive pas a mettre le doigt sur mon erreur.
Voila (alors vous remarquerez surement qu'il s'agit d'objective c mais je suis dans une partie de mon programme ou c'est plus du C que de l'objective C et comme je pense que mon problème est au niveau du C je pose la question ici) :
Tout d'abord ma methode d'appel au Webservice qui se trouve dans une Classe WebserviceHelper :
Dans cette même classe WebserviceHelper j'ai une autre methode qui appelle celle ci dessus :
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 + (_ns1__GetUserResponse*)getUserByLogin:(NSString *)login andPassword:(NSString *)password { //initialisation de gsoap struct soap soap; soap_init(&soap); //Création des objet Requete/Réponse struct _ns1__GetUser requete; struct _ns1__GetUserResponse reponse; struct _ns1__GetUserResponse* reponse2; reponse2 = (struct _ns1__GetUserResponse*) malloc(sizeof(struct _ns1__GetUserResponse)); //Passage de l'attribut de la requête : requete.pseudo = (char *) [login UTF8String]; requete.mdp = (char *) [password UTF8String]; //Appel du service Web : soap_call___ns2__GetUser(&soap, NULL, NULL, &requete, &reponse); reponse2->GetUserResult = (reponse.GetUserResult); return reponse2; }
Mon problème est le suivant, en mode debug j'inspecte le return de ma première methode tout est comme il faut...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 + (UtilisateurDTO*)findUtilisateurByLogin:(NSString *)login andPassword:(NSString *)password { _ns1__GetUserResponse wsResponse = *[WebServiceHelper getUserByLogin:login andPassword:password]; //Etc....
Par contre j'inspecte ensuite dans la seconde methode la variable wsResponse, tous les attributs de mon objet sont erronnés.
Auriez vous une idée du soucis ?
Merci d'avance.
PS : avant de faire une copie brutale dans reponse2 j'avais fais le test sans faire cela et c'est pareil.
Partager