Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec gsoap et les std::vector

1 réponse
Avatar
loris.scalzo
Bonjour, j'ai un petit problème avec l'utilisation de la librairi
gsoap, je dois l'utiliser pour un projet et je voudrais bien qu'un
de mes fonctions renvoit un argument de type vector
Seulement j'ai beau mettre des éléments dans le vector il ne le
sérialise pas..
Je ne vois pas du tout pourquoi ca ne fonctionne pas j'ai fais la mêm
chose que dans la documentation..

Voici le code de mon fichier .h pour les vector

#import "stlvector.h

typedef int xsd__int
typedef double xsd__double
typedef std::string xsd__string

struct empty {}

class cb__Tes

public
std::vector<xsd__int> * result
}

int cb__sendRequest( xsd__string moduleName, xsd__string action
xsd__string parameters, cb__Test * response)

Le code du serveur
[code:1:7fcefc004c
int cb__sendRequest(struct soap *soap, string aModuleName, strin
action, string parameters, cb__Test * response

response = new cb__Test()
response->result = new vector<int>()
..
response->result->push_back(2)
response->result->push_back(25)
printf("nb
%d\n",response->result->at(1))
..
return SOAP_OK

[/code:1:7fcefc004c

Le message envoyé par le serveur et recu par le client
[code:1:7fcefc004c
<?xml version="1.0" encoding="UTF-8"?
<SOAP-ENV:Envelop
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema
xmlns:cb="urn:combus
xmlns:hm="urn:hwMan
xmlns:ld="urn:ldap"><SOAP-ENV:Body><cb:Test></cb:Test></SOAP-ENV:Body></SOAP-ENV:Envelope
[/code:1:7fcefc004c

Le tout me donnant un sympathique segfault à l'exécution quand je veu
utiliser le résultat de la fonction

Toute aide est la bienvenue

Merc

1 réponse

Avatar
loris.scalzo
Problème résolu en renvoyant une référence et pas un pointeur, tou
est sérialisé correctement de cette façon