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

XML/XSL et SOAP Discussion :

php nusoap probleme enveloppe


Sujet :

XML/XSL et SOAP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut php nusoap probleme enveloppe
    Bonjour,
    J'ai un problème avec le retour du serveur nusoap. L'XML retourné après traitement (sans aucun problème) par le serveur est invalide. De ce que je peux voir, la dernière balise est coupée :
    au lieu de :
    Ce problème apparait quelque soit le taille du contenu du body du retour (j'ai essayé avec 500 caractères et 5 caractères). J'ai également essayé de supprimer les caractères spéciaux sans succès.

    Les messages d'erreurs côté client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nusoap_parser: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)
    ...
    soapclient: Error: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)
    Si quelqu'un à une idée sur la question.

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nusoap_parser: XML error parsing SOAP payload on line 1: Not well-formed (invalid token)
    A priori, l'analyseur t'indique que la première ligne de ton XML n'est pas bien formé.

    Après, je ne saurais t'en dire plus.
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci d'avoir répondu aussi vite.
    Je pense que tout le contenu du xml est sur une seule ligne donc ce message d'erreur ne m'avance pas beaucoup.
    En revanche après un copié collé dans Notepad du retour, je constate l'apparition de '??' en début de la réponse xml. Pourtant je ne les ajoute nulle part et ils n'apparaissent nulle part dans les réponses xml.
    Problèmes d'encodage ? Normalement je suis en UTF-8 côté client et serveur.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Dans les balises body de l'enveloppe du retour, j'ai constaté que certains caractères sont remplacés par les codes html.
    Exemple :
    '<' devient '&lt;'

    Serait-ce un traitement automatique fait par nuSoap du contenu de la balide de retour ?

    edit : autant pour moi, c'est moi qui à l'affichage du retour ajoutait un petit "htmlspecialchars"
    Le problème ne vient donc pas de la.

  5. #5
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Ok, pourrait tu faire passer ton code XML ?
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Mon XML de retour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <ns1:mafunction xmlns:ns1="http://tempuri.org">
    <return xsi:type="xsd:string">moncontenu</return>
    </ns1:mafunction>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    J'ai comme l'impression qu'il s'agirait d'un problème d'UTF-8 sans et avec BOM...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    J'ai fait apparaitre des "&# 65279 ;" (sans espaces) avant l'entete du XML qui d'après Google serait des espaces liés à l'UTF8 avec et sans BOM...
    Reste à savoir comment les supprimer.

  8. #8
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Je ne vois rien qui cloche dans le code que tu as fait passer.

    Après, je ne vois pas pourquoi tu aurais besoin d'un BOM,
    tu peux consulter : UTF-8, UTF-16, UTF-32 & BOM
    Q: What are some of the differences between the UTFs?
    Q: Can a UTF-8 data stream contain the BOM character (in UTF-8 form)?
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci.
    J'ai converti tous mes fichiers php en utf-8 sans BOM avec notepad et ce problème semble résolu.
    Il me reste toutefois un deuxième problème qui est la dernière balise du retour xml qui est découpée. J'obtiens ainsi "</SOAP-ENV:Envelo" à la place de "</SOAP-ENV:Envelope>".
    Ce problème apparaissait aussi avec le précédent problème mais je n'ai pas voulu tout mélanger.

  10. #10
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    J'ai converti tous mes fichiers php en utf-8 sans BOM avec notepad et ce problème semble résolu.
    Géant.

    Ce problème apparaissait aussi avec le précédent problème mais je n'ai pas voulu tout mélanger.
    Tu as bien fait, les choses sont plus claires ainsi.

    Ceci étant, pourrais tu nous faire passer ton code XML exactement tel que le reçois. Merci.
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    J'en suis à me demander si ces 2 problèmes ne sont pas liés :
    là où tout à l'heure la dernière balise de retour se coupait à "</SOAP-ENV:Env",
    elle se termine maitenant à "</SOAP-ENV:Envelo" soit 3 caractères de gagnés.
    Il doit me rester un espace invisible qui traine quelque part.
    Mon XML de retour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <ns1:mafonction xmlns:ns1="http://tempuri.org">
    <return xsi:type="xsd:string">moncontenu</return>
    </ns1:mafonction>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelo
    J'ai volontairement laissé affiché le "&# 65279 ;" en début d'XML. Je ne le vois pas mais il est bien présent. J'en ai toutefois 1 de moins que tout à l'heure.
    Je continue donc de chercher dans la direction des problèmes de BOM...

  12. #12
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    ok, je saurais dire la cause de tout ceci.

    Mais en suivant ce que tu écrit, tu dis avoir gagner 3 caractères en supprimant &#65279 ;.
    Or, il ne te manque que 3 caractères pour que ton XML soit complet
    ... et le code XML que tu montre commence par &#65279 ;.
    Il ne te "suffirait" pas de supprimer ce premier caractère &#65279 ;
    pour avoir le code XML complet ?
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    J'y ai bien pensé mais il s'agit d'une réponse XML généré par une librairie (nuSoap). Cette réponse à terme sera lue par un logiciel client dont je ne suis pas l'auteur et que je ne peux donc pas modifier.

    En revanche une bonne nouvelle, j'ai retrouvé un vilain petit fichier php qui était passé au travers des mailles du filet lors de la conversion en UTF-8 sans BOM. Il semblerait que se soit bon.
    J'effectue quelques tests et si ça fonctionne, -> résolu.

    Comme quoi on peut bien se casser la tête sur l'encodage....

  14. #14
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Donc finalement, tu n'utilise pas de BOM avec UTF-8 !
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Problème résolu .
    Pour ceux qui penseraient avoir le même problème : pour voir les espaces invisibles, il faut faire un copié collé du code de vos fichiers dans un éditeur de texte très très basique (type bloc notes) ; vous verrez apparaitre de nouveau caractères que vous ne voyiez pas comme un ? ou un carré vide ou ¿ c'est selon ou parfois le code  ;.

    UTF-8 et BOM, pas bien dans mon cas.
    Merci aux personnes qui m'ont répondues

  16. #16
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    pour voir les espaces invisibles, il faut faire un copié collé du code de vos fichiers dans un éditeur de texte très très basique (type bloc notes)
    Oui, ceci n'empêche pas de le faire avec des éditeurs plus évolués.
    dès lors que l'on sait comment les paramétrés; ou encore d'utiliser un programme
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Oui mais il faut être sûr de son coups au risque de se casser la tête

  18. #18
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    À ce niveau-là, autant utiliser un éditeur hexa, c'est le plus sûr.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [PHP-JS] probleme list box
    Par amigauss dans le forum Langage
    Réponses: 9
    Dernier message: 25/01/2006, 19h53
  2. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2006, 10h33
  3. Réponses: 5
    Dernier message: 12/01/2006, 16h47
  4. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 20
    Dernier message: 12/01/2006, 14h41
  5. [FLASH MX2004] [PHP/FLASH] Probleme de LoadVar
    Par dedella_al dans le forum Flash
    Réponses: 8
    Dernier message: 16/07/2004, 19h56

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