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

Langage Perl Discussion :

Perl et SOAP


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut Perl et SOAP
    Bonjour à tous !

    Voila je suis débutant dans les histoires de SOAP...
    J'ai créé un service qui reçoit une requête SOAP, avec entre autre un élément dans la requête qui contient une chaîne XML.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    my $zParametresSvc = "<portfolio>";
    $zParametresSvc .= "<pf>pf1</pf>";
    $zParametresSvc .= "<pf>pf2</pf>";
    $zParametresSvc .= "<pf>pf3</pf>";
    $zParametresSvc .= "</portfolio>";
     
    my $xParametresSvc = SOAP::Data->type('string');
    $xParametresSvc->name('RequestParameters');
    $xParametresSvc->value($zParametresSvc);
    J'appelle ensuite une fonction qui récupère $xParametresSvc en paramètre d'entrée.
    J'aimerais pouvoir récupérer les différentes valeurs pf1, pf2 et pf3.

    J'ai essayé avec Parser::XML, et la méthode XMLin, avec directement le paramètre, mais voila le message qu'il me rend :

    not well-formed (invalid token) at line 1, column 10, byte 10 at /usr/local/perl/lib/site_perl/5.6.2/sun4-solaris/XML/Parser.pm line 185
    En réalité, je veux récupérer ma chaîne contenue à la valeur RequestParameters, un truc qui semble simple, mais euh... je sèche...

    SVP aidez moi, merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    J'ai oublié de préciser que j'ai tenté $_zParametresSvc->value('RequestParameters') et qu'en printant la valeur recue j'obtiens :

    SOAP:: Data=HASH(0x1268ce4)


    SVP y'a quelque chose qui m'échappe !!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    Autant pour moi, je n'avais pas saisi les subtilités de SOAP...

    Je ne savais pas que SOAP en réception du message faisait la translation via le fichier wsdl...

    Et donc en clair je récupère mon bout d'XML en chaines de caractères et non une donnée SOAP...

    Merci quand même lol !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    Re !

    Bon je me retrouve confronté à un problème :

    J'ai un problème avec mon encodage... C'est à dire que l'enveloppe SOAP que je renvoie est encodée en UTF8, donc si j'ai des accents ca fait planter le tout...

    Voila comment je construis ma chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $xResultat = SOAP::Data->name('RequestResult')->type('string')->value($zResultat);
    Je cherche à modifier l'encodage, avec notamment la méthode encodingStyle, en l'utilisant ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $xResultat = SOAP::Data->name('RequestResult')->type('string')->value($zResultat)->encodingStyle('iso-8859-1');
    Mais aucune différences... PLZ quelqu'un qu'a une idée ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    Personne n'a d'idée SVP ??


  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Utilise le module Encode, travaille uniquement en utf-8... De toute façon Unicode (et pour l'instant utf-8), c'est le futur (un futur qui fait peur vu tous les problèmes que pose Unicode, enfin c'est toujours mieux que de travailler avec 56 encodages différents).

    --
    Jedaï

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    Bah un des problèmes est justement l'impossibilité de foutre des accents dans le message XML non ?

    Et en fait le mode Encode fonctionne très bien coté client, mais coté serveur il n'y pas d'équivalent...

  8. #8
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par burhud
    Bah un des problèmes est justement l'impossibilité de foutre des accents dans le message XML non ?
    Pourquoi ? Il suffit d'écrire les accents en utf-8 (ou éventuellement d'utiliser le module Encode pour passer tes chaînes en utf-8).

    --
    Jedaï

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 46
    Points
    46
    Par défaut
    Arf...

    Oui j'y pensais bien, mais je préférais une facon de le faire gérée par Perl...

    Merci bien en tout ca

+ 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 Shadow aok dans le forum Modules
    Réponses: 6
    Dernier message: 16/05/2006, 13h40
  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