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

Modules Perl Discussion :

Perl et SOAP


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 83
    Points : 52
    Points
    52
    Par défaut Perl et SOAP
    Bonjour,

    Quelqu'un saurait-il comment empêcher le script d'être tué par l'appel à SOAP lorsque ce dernier ne tourne pas ?

    Dans mon code ci-dessous, si le serveur n'est pas lancé, je n'arrive pas à traiter l'erreur, le script ne va pas plus loin que l'appel et j'obtiens une erreur 500 (normal).

    Mais j'aimerais bien pouvoir terminer moi-même le script afin d'afficher une erreur compréhensible aux utilisateurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                my $soapResponse = SOAP::Lite
                            -> uri( 'http://localhost/generatePdf' )
                            -> proxy( 'http://localhost:1668' )
                            -> generateDocument( { procedure => $procedureName, xmlData => $xmlData } );
     
                if( not defined $soapResponse  )
                {
                             #traitement
                 }
    J'ai également tenté avec un on_error dans l'appel et un or à la fin de ce dernier, sans plus de succès.

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 83
    Points : 52
    Points
    52
    Par défaut
    Je viens de trouver, il faut faire un on_fault et non un on_error (il est difficile en plus ).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Bonjour Shadow_oak,

    Concernant ton script, peux tu m'expliquer la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -> proxy( 'http://localhost:1668' )
    Merci beaucoup !!
    tout le monde est d'accord pour critiquer la pensée unique

  4. #4
    Jeh
    Jeh est déconnecté
    Membre actif Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Points : 250
    Points
    250
    Par défaut
    Citation Envoyé par LE NEINDRE
    Bonjour Shadow_oak,

    Concernant ton script, peux tu m'expliquer la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    -> proxy( 'http://localhost:1668' )
    Merci beaucoup !!
    Cette ligne permet de renvoyer les appels vers, en l'occurence, la même machine mais un port différent. Port sur lequel, je suppose qu'un autre service écoute.
    Verre vide je te plains, verre plein, je te vide.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 83
    Points : 52
    Points
    52
    Par défaut
    Gagné

    Le serveur sur lequel se trouve le daemon SOAP (qui va recevoir cet appel) est déjà un peu occupé alors j'utilise un autre port de mon choix

    (Sans oublier que le script qui fait l'appel se trouve sur le même serveur sauf que le daemon est dans un chroot différent)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Ok,
    voilà ce que je mets dans mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #!c:\perl\bin\perl.exe
     use SOAP::Lite;
      print SOAP::Lite
        -> uri('http://localhost/ServiceWeb/Convertir.asmx')
        -> proxy('http://localhost:80')
        -> CelsiusToFahrenheit(32)
        -> result;
    Et je récupère l'erreur suivante dans ma console dos:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    400 Bad Request at soap.pl line 6
    Je n'ai plus de log d'erreur dans mon serveur web...

    Avez vous une idée ??
    Je mets port 80 pour le proxy mais le port 80 est déjà le port d'écoute de mon serveur (IIS 5.0)
    Lorsque je ne mets pas de proxy, j'ai une erreur directe qui me dis qu'il faut spécifier un proxy.

    Je suis un peu perdu, pourtant, je crois que ça doit pas être trop compliqué. Je pense que je n'ai pas compris le mécanisme !!


    PS: Je continue sur ce thread mais peut-être devrais je en ouvrir un nouveau ? Dans ce cas, n'hésitez pas à me le faire savoir.

    Bonne journée !
    tout le monde est d'accord pour critiquer la pensée unique

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 83
    Points : 52
    Points
    52
    Par défaut
    Si IIS est déjà en port 80 tu dois en utiliser un autre pour ton daemon SOAP et donc dans ton code.

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

Discussions similaires

  1. Perl, SOAP et proxy
    Par grinder59 dans le forum Web
    Réponses: 2
    Dernier message: 14/01/2009, 15h50
  2. SOAP avec apache et PERL
    Par spax dans le forum Web
    Réponses: 0
    Dernier message: 03/09/2008, 17h37
  3. soap: php vers perl soap::lite
    Par manuds dans le forum Web
    Réponses: 7
    Dernier message: 01/03/2008, 22h40
  4. Perl et SOAP
    Par burhud dans le forum Langage
    Réponses: 8
    Dernier message: 19/04/2007, 17h42
  5. Pb sur Serveur SOAP en perl
    Par lilianjee dans le forum Modules
    Réponses: 1
    Dernier message: 24/08/2005, 16h19

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