[gsoap] Problème avec les std::vector
Bonjour, j'ai un petit problème avec l'utilisation de la librairie gsoap, je dois l'utiliser pour un projet et je voudrais bien qu'une de mes fonctions renvoit un argument de type vector.
Seulement j'ai beau mettre des éléments dans le vector il ne les sérialise pas...
Je ne vois pas du tout pourquoi ca ne fonctionne pas j'ai fais la même chose que dans la documentation...
Voici le code de mon fichier .h pour les vector :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#import "stlvector.h"
typedef int xsd__int;
typedef double xsd__double;
typedef std::string xsd__string;
struct empty {} ;
class cb__Test
{
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 2 3 4 5 6 7 8 9 10 11 12
|
int cb__sendRequest(struct soap *soap, string aModuleName, string 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;
} |
Le message envoyé par le serveur et recu par le client :
Code:
1 2 3
|
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 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> |
Le tout me donnant un sympathique segfault à l'exécution quand je veux utiliser le résultat de la fonction.
Toute aide est la bienvenue.
Merci