IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

[gsoap] Problème avec les std::vector


Sujet :

SL & STL C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 22
    Points
    22
    Par défaut [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 : 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
     
    #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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 43
    Points : 22
    Points
    22
    Par défaut
    J'ai résolu le problème en renvoyant une référence et plus un pointeur tout est sérialisé correctement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les std::map
    Par iori11 dans le forum SL & STL
    Réponses: 6
    Dernier message: 17/07/2009, 15h08
  2. Problème avec les vector
    Par terminator59140 dans le forum C++
    Réponses: 8
    Dernier message: 03/06/2009, 23h21
  3. problème avec les vector
    Par cdm1024 dans le forum SL & STL
    Réponses: 8
    Dernier message: 15/04/2008, 10h57
  4. [Debutant] problème avec les vectors
    Par julien.63 dans le forum Langage
    Réponses: 6
    Dernier message: 21/12/2007, 22h53
  5. Problème avec les vector
    Par lostchina dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/03/2007, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo