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

C++ Discussion :

Gsoap - Comment alimenter un retour de type 1 à n avec des vecteurs


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Gsoap - Comment alimenter un retour de type 1 à n avec des vecteurs
    Bonjour à tous,
    Je suis en train de faire un petit programme de validation de mail. Lors de l'appel au service web, je peux lui indiquer plusieurs adresses comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      <soapenv:Body>
          <ema:checkRecipient>
             <email>email1@toto.com</email>
             <email>email2@toto.com</email>
          </ema:checkRecipient>
       </soapenv:Body>
    En retour, le service doit me retourner quelque chose comme cela :

    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
     
     <SOAP-ENV:Body>
      <ns1:checkRecipientResponse>
     
        <checkRespons>
         <email>email1@toto.com</email>
         <smtpCode>0</smtpCode>
         <smtpTrans></smtpTrans>
         <smtpReply></smtpReply>
         <emailReply></emailReply>
        </checkRespons>
     
        <checkRespons>
         <email>email1@toto.com</email>
         <smtpCode>0</smtpCode>
         <smtpTrans></smtpTrans>
         <smtpReply></smtpReply>
         <emailReply></emailReply>
        </checkRespons>
         </ns1:checkRecipientResponse>
     </SOAP-ENV:Body>

    J'ai préparé le wsdl avec eclipse et le code "de base" est généré via wsdl2h et soapcpp2.

    Pour la lecture des adresses en entrée, pas de problème. Pour la préparation du résultat, je coince...

    Le proto de cette fonction est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int __ns1__checkRecipient(struct soap* soap, _ns1__checkRecipient * request, _ns1__checkRecipientResponse &reponse)
    La classe _ns1__checkRecipientResponse contient un vecteur de __ns1__checkRecipientResponse_sequence qui lui même contient une classe ns1__checkResponsType contenant les éléments de réponses (smtpCode,....)

    Je pensais m'en sortir en :
    • instanciant un __ns1__checkRecipientResponse_sequence
    • en lui alimentant les données de ns1__checkResponsType
    • et enfin, un push_back dans _ns1__checkRecipientResponse par adresse en entrée.

    Mais rien ne se passe comme prévu. En debug, l'objet reponse n'est pas modifié.
    J'avais toujours eu une utilisation assez basique de soap et des vecteurs. Pour le coup je suis coincé.

    Je joins une archive contenant le wsdl et le code généré par gsoap.
    Si quelqu'un pouvait m'aiguiller sur la façon de procéder, ce serait génial.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2014, 17h25
  2. Réponses: 1
    Dernier message: 13/03/2010, 01h14
  3. Réponses: 2
    Dernier message: 23/03/2009, 14h06
  4. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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