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

Web Perl Discussion :

SOAP::Lite et parcours de l'enveloppe


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Par défaut SOAP::Lite et parcours de l'enveloppe
    Bonjour,

    J'ai développé un script de test permettant de créer des Boîtes aux lettres (BAL) en utilisant les webservices.
    La création d'un compte doit être précédée d'une réservation.
    J'ai donc utilisé deux fonctions une de réservation et l'autre de création.
    Pour une création sans réservation, ça marche nickel.
    Par contre, pour réserver puis créer une BAL, il faut récupérer la variable "bookingId" générée lors de la réservation et la passer à la fonction création.
    Pour récupérer le résultat de la fonction "réservation":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my  $wsResult = SOAP::Lite
                    ->proxy($URL)
                    ->checkEmailsBooking($param)
                    ->result;
    Etant débutant en SOAP::Lite, j'arrive pas à récupérer la valeur de la clé "bookingId" retournée par la fonction réservation.
    J'ai copié l'enveloppe SOAP en réponse à la réservation dans un fichier xml que j'ai attaché à mon topic.

    Pouvez-vous m'aider?
    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    J'ai fait tellement peu de SOAP::Lite que je ne saurais quoi te dire d'intelligent sur le problème. La seule chose que je peut dire, c'est que quand ce n'est pas clair pour moi, j'utilise un coup de Data:umper.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print Dumper($wsResult)
    devrait te donner le moyen d'accèder à bookingId. Non ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Par défaut
    Merci, Thierry

    Le Dumper m'a beaucoup aidé.

    La solution était de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    my $nb = scalar @{$wsResult->{data}};
    for (my $i = 0; $i < $nb; $i++) {
        if ($wsResult->{data}[$i]{key} eq 'bookingId') {
          $bookingid = $wsResult->{data}[$i]{value};
          last;
        }
    }

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

Discussions similaires

  1. Incompatibilité http_proxy et SOAP::Lite ?
    Par Gold.strike dans le forum Modules
    Réponses: 0
    Dernier message: 16/04/2008, 13h32
  2. Réponses: 5
    Dernier message: 15/04/2008, 15h52
  3. Appel service Web avec SOAP:Lite
    Par phlux dans le forum Web
    Réponses: 1
    Dernier message: 09/04/2008, 16h56
  4. soap: php vers perl soap::lite
    Par manuds dans le forum Web
    Réponses: 7
    Dernier message: 01/03/2008, 22h40
  5. Consommer un webservice asp.net depuis soap::lite
    Par bleuerouge dans le forum Web
    Réponses: 0
    Dernier message: 11/01/2008, 15h17

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