Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 18 sur 18
  1. #1
    Invité de passage
    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 : 4
    Points
    4

    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 :
    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    Par défaut

    Bonjour,

    Code :
    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    Par défaut

    Mon XML de retour :
    Code :
    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    &#65279;<?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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    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
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 437
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 437
    Points : 2 096
    Points
    2 096

    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
    Invité de passage
    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 : 4
    Points
    4

    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

    Inscrit en
    septembre 2004
    Messages
    9 485
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 9 485
    Points : 14 310
    Points
    14 310

    Par défaut

    À ce niveau-là, autant utiliser un éditeur hexa, c'est le plus sûr.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •