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 PHP Discussion :

PHP SOAP ARRAY PB ENCODAGE


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut PHP SOAP ARRAY PB ENCODAGE
    Bonsoir a tous,

    Je suis bloqué sur un problème assez énervant!

    J'utilise les web services afin d'envoyer un flux xml au web service, donc soap!

    Lorsque que je transforme mon XML en array :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $xml = "<entete></entete>";
    $flux = array('psFlux'=>$xml);
    lorsque je fais ca, mon flux est bien de forme :

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WebCommande"><SOAP-ENV:Body><ns1:transmissionCommandeRepas><psFlux>&lt;entete&gt;&lt;/entete&gt;</psFlux></ns1:transmissionCommandeRepas></SOAP-ENV:Body></SOAP-ENV:Envelope>

    Donc le problème c'est que la transformation du flux en array converti les < et > en &lt; et &gt; , MAIS, juste ceux du flux, la déclaration SOAP est nikel!

    Si quelqu'un a une solution, même la plus petite, je suis preneur, 1 semaine que je m'arrache les cheveux avec ça!

    Merci beaucoup!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce n'est sûrement pas le passage de la chaine dans un tableau, qui fait une conversion en entités HTML.
    D'ou viens ta chaine de flux ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Salut sabotage, merci de ta réponse,

    je déclare pour l'instant mon flux en dur, je te met mon script et la réponse provoquée:

    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
    <?php
     
    $flux = '<commande></commande>';
     
    $wsdl = "lienwebservice?wsdl";
    $client = new SoapClient($wsdl, array('trace' => 1, array('cache_wsdl' => 0, 'trace' => 1)));
     
     
    echo 'Flux :<br/>';
    var_dump($flux);
     
    $array = array('psFlux' => $flux);
     
    $client->transmissionCommandeRepas($array);
     
    echo 'requête envoyée :<br/>';
    var_dump($client->__last_request);
     
     
    ?>
    Et voici l'affichage de mes var_dump :

    Flux :

    string '<commande></commande>' (length=21)

    requête envoyée :

    string '<?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WebCommande"><SOAP-ENV:Body><ns1:transmissionCommandeRepas><psFlux>&lt;commande&gt;&lt;/commande&gt;</psFlux></ns1:transmissionCommandeRepas></SOAP-ENV:Body></SOAP-ENV:Envelope>
    ' (length=310)
    dis moi ce que tu en penses...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faur voir ce qui se passe dans transmissionCommandeRepas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Autoentrepreuneur
    Inscrit en
    Mai 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autoentrepreuneur

    Informations forums :
    Inscription : Mai 2012
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Je m'en doutais un peu le problème c'est que c'est un web service développé en webdev et que je ne sai spas comment voir l'execution de la commande, je vais regarder de plus prés comment je peux faire! merci de ta réponse!

Discussions similaires

  1. PHP/SOAP : Probleme d'array of array
    Par tdldp dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 09/02/2011, 14h48
  2. [Web Service][SOAP] Erreur d'encodage ?
    Par tintin72 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 21/06/2007, 09h25
  3. [PHP/MySQL] Problème d'encodage
    Par ymoreau dans le forum Outils
    Réponses: 13
    Dernier message: 11/01/2007, 12h08
  4. tableau PHP numéroter array
    Par actarus44 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 01/10/2006, 21h35

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