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

Apache Discussion :

Web Service UTF-8


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut Web Service UTF-8
    Bonjour à tous,

    J'utilise Apache uniquement pour installer des Web Service sur un poste mais j'ai un problème d'encodage des chevrons XML dans le retour.
    Lorsque que je le consomme, l'enveloppe de la réponse est correcte mais le xml qu'elle contient est mal encodé (les < deviennent &lt; et les > deviennent &gt, je suppose que ça viens du charset de l'en-tête qui me reviens toujours en ISO-8859-1.
    Le problème est que je n'arrive pas à mettre le charset de l'en-tête en UTF-8.

    J'ai essayé plusieurs choses mais rien n'y fait, j'ai toujours un message en ISO-8859-1 :
    - A l'aide du mod_charset_lite.so
    Dans le httpd.conf, j'ai dé-commenté la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule charset_lite_module modules/mod_charset_lite.so
    et rajouté (j'ai également essayé en mettant le CharsetDefault utf-8 hors du <IfModule>) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <IfModule charset_lite_module>
        CharsetDefault utf-8
    </IfModule>


    - A l'aide du module mod_headers.so
    dans le httpd.conf, j'ai dé-commenté la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule headers_module modules/mod_headers.so
    et j'ai rajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <IfModule headers_module>
        Header set utf-8 charset
    </IfModule>
    Je n'ai plus d'idées, quelqu'un pour me venir en aide ?
    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    A priori ce problème n'est pas lié à l'encodage : aucun encodage ne dit que les < sont codés par les octets correspondant à & puis l puis t puis enfin ;. Le problème vient du fait qu'il y a une "entitisation" XML ou HTML du message envoyé par le service Web, car &lt; est la version entité XML du caractère <.

    A ta place, je regarderais plutôt ce qu'il y a entre Apache et ton Web service et je m'assurerais que ce n'est pas le Web service (ou le serveur d'appli sur lequel il tourne par exemple) qui ne fait pas cet conversion.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut
    En réalité, voilà l'exception que j'ai au retour du web service et qui me fait pensé que c'est un problème de charset (plus de détail en pj.) :

    Une exception a été levée par la cible d'un appel:
    Le type de contenu text/xml;charset=iso-8859-1 du message de réponse ne correspond pas au type de contenu de la liaison (text/xml;carset=utf-8) ...
    Ensuite l'envoloppe est correcte et le message du WS est avec les &lt; et &gt;

    De toute évidence le charset doit être changer lui aussi (chose que je n'arrive pas à faire), mais sur tes conseils je vais explorer aussi la piste du WS lui-même.
    Images attachées Images attachées  

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    On dirait qu'il y a les deux problèmes, en fait. Le client s'attend à avoir une réponse en UTF-8 mais le prologue XML du message de réponse parle de ISO-8859-1. Il faut faire en sorte que les 2 concordent.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Par défaut
    Justement je n'arrive pas à formater ma réponse en UTF-8, je crois que ça viens d'une configuration d'Apache mais je ne sais pas laquelle.
    Je ne maîtrise pas trop les Web Service, donc je ne sais pas où exactement se forme l'enveloppe de ma réponse.

    Et je ne comprend pas non plus pourquoi les < > de mon xml de retour deviennent des &lt; et &gt;
    J'ai cru que les 2 problèmes étaient liés mais là j'ai plus d'idée ...

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Comme je dis, je pense qu'il y a 2 problèmes. Essaie de les aborder séparément. Vois d'abord pour les &lt; en examinant une à une les couches concernées pour voir où apparaît le problème : commence par le Web service, puis le serveur sur lequel il tourne, puis Apache. Quand ce sera résolu, tu passeras sur cette histoire d'UTF-8.

Discussions similaires

  1. [WD16] Web Service + Apache + UTF-8
    Par Darri06 dans le forum WinDev
    Réponses: 31
    Dernier message: 30/01/2013, 13h41
  2. [web service] pb interoperabilité?
    Par david42 dans le forum Services Web
    Réponses: 3
    Dernier message: 02/03/2004, 14h01
  3. [WebService]Fichier Java et WSDL associé pour Web Services
    Par P4_le_requin_breton dans le forum Services Web
    Réponses: 9
    Dernier message: 23/02/2004, 12h55
  4. [JBuilder][Web Services] à partir de quelle version?
    Par sicard_51 dans le forum JBuilder
    Réponses: 2
    Dernier message: 25/08/2003, 12h54
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 14h50

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