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

Services Web Java Discussion :

Caractères spéciaux et Webservice


Sujet :

Services Web Java

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut Caractères spéciaux et Webservice
    Bonjour à tous.
    Me revoilà avec un problème web service.

    J'ai un web service Axis2/Java 6.
    J'ai deux clients différents :
    - un client en Java6 / Axis2 généré par les wizard eclipse
    - un client Java 1.4 qui ouvre des connections http dans lequel il envoit du xml créé à l'aide d'un string (car on connait à l'avance la tête du message à envoyer au webservice).

    Avec le client Axis2 je peut passer en entrée des caractères suédois etc... sans problème, mais avec le client java 1.4 qui fait du HTTP "à la main", j'ai une IOException erreur 500.
    Parmi les caractères spéciaux me posant soucis, il y a les lettres accentuées, accentuées + en majuscule etc...
    Quelle solution puis-je adopté pour être sûr que plus jamais un tel problème ne se reproduise, en d'autres termes, quel est exactement le problème et comment y remédier définitivement?

    Merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 232
    Par défaut juste une idee
    a mon avis, ton client "code a la main" ne t envoie pas les chaines dans un format UTF-8 ou autre
    donc
    1) regarde ce que t envoie le client en question (tu peux eventuellement utiliser un sniffer pour espionner le flux http si tu n a pas d autres solutions)
    2) compare avec la meme chaine envoye par le clinet axis2
    a mon avis dans l entente du va avoir seulement <?xml version="1.0" ?> pour le client "a la main"
    3) sur ton serveur, tu peux juste trapper l exception si la chaine est mal codee. Si on t envoie quelque chose de mal codé, au moins tu ne plantera pas

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    de même, à mon avis le client 1.4 a oublié de préciser l'encodage des caracteres.

    soit par un <?xml version='1.0' encoding='XXXXXX'?>

    soit par l'entete HTTP Content-Type: text/xml; charset='XXXXX'

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Malheureusement j'ai déjà fait tout ceci, mais si j'encode dans le client en utf-8 mes caractères spéciaux sont perdu (remplacés pas ?), et sinon l'entête du message soap semble ne servir à rien -> aucun effet si je le modifie.
    Idem pour le content-type charset de l'HttpURLConnection.

  5. #5
    Membre éclairé Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Par défaut
    JE suis aussi intéressé par la réponse. J'ai le même problème avec mon webservice php consommé avec java.

    En attendant la solution, j'effectue une conversion des caractère spéciaux en caractère normaux (È devient E, é -> e, etc...)

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Nous pensions avoir trouver une solution :
    passer le message soap fait main dans un parser XML pour qu'il s'occupe des problèmes d'encodage, le récupérer sous forme de string et l'envoyer.
    Résultat presque tous les caractères qui posaient problème passent désormais... sauf un : le Ä.
    Bref, pas de méthode miracle, peut-être faudrait-il tester d'autres parsers.

Discussions similaires

  1. caractères spéciaux
    Par mat10000 dans le forum Flash
    Réponses: 16
    Dernier message: 23/10/2003, 13h22
  2. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54
  3. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38
  4. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 16h49
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

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