Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
858 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [SOAP] Changer l'encoding d'une requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SOAP] Changer l'encoding d'une requête

n°248241
darklord
You're welcome
Posté le 19-11-2002 à 11:18:10  profilanswer
 

Hello,
 
Quelqu'un sait comment on peut changer l'encoding d'un appel SOAP avec Java et Apache SOAP. Visiblement il prends UTF-8 par défaut mais on a besoin de code non UTF-8 (come éè et compagnie).
 
Merchi  :hello:  
 
Au sinon au pire, quelqu'un sait comment désérializer un document XML en UTF-8 avec des caractères non UTF-8 sans générer une exception (en gros on reçoit le doc XML de réponse en UTF-8 sous forme d'une String sérialisée et on utilise un DocumentBuilder pour récupérer un Element. Mais bon ca foire évidemment dès qu'il trouve un caractère non UTF-8)


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 19-11-2002 à 11:18:10  profilanswer
 

n°248289
mareek
Et de 3 \o/
Posté le 19-11-2002 à 12:25:19  profilanswer
 

j'en ai aucune idée, mais [:tomilou] quand même
 :hello:


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°248291
darklord
You're welcome
Posté le 19-11-2002 à 12:26:02  profilanswer
 

mareek a écrit a écrit :

j'en ai aucune idée, mais [:tomilou] quand même
 :hello:  




 
 :jap:


---------------
Just because you feel good does not make you right
n°248300
--greg--
Posté le 19-11-2002 à 12:35:10  profilanswer
 

[:troa]


Message édité par --greg-- le 19-11-2002 à 12:37:13

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°248312
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 12:42:40  profilanswer
 

DarkLord a écrit a écrit :

Hello,
 
Quelqu'un sait comment on peut changer l'encoding d'un appel SOAP avec Java et Apache SOAP. Visiblement il prends UTF-8 par défaut mais on a besoin de code non UTF-8 (come éè et compagnie).
 
Merchi  :hello:  
 
Au sinon au pire, quelqu'un sait comment désérializer un document XML en UTF-8 avec des caractères non UTF-8 sans générer une exception (en gros on reçoit le doc XML de réponse en UTF-8 sous forme d'une String sérialisée et on utilise un DocumentBuilder pour récupérer un Element. Mais bon ca foire évidemment dès qu'il trouve un caractère non UTF-8)




<?xml version="1.0" encoding="iso-8859-1"?>
 
Sinon, si tu as besoin de caractères qui ne respectent pas l'encoding, tu as 2 solutions : soit les mettre dans un CDATA, qui, contrairement au PCDATA, n'est pas parsé par le parser XML, ou tu les transforme en l'entité équivalente. Exemple : é doit être transformé en '&#233;' ou '&#xE9;'.
 
Note : mes réponses ne sont pas propres à SOAP, mais sont générales à tout document XML.

n°248313
darklord
You're welcome
Posté le 19-11-2002 à 12:45:10  profilanswer
 

non mais j'entends bien biface hein :o
je suis pas stupide à ce point.
 
Le truc c'est que pour construire l'appel soap, on build en interne un "doc XML" et on passe à la méthode une instance de Element (org.w3c.Element). Alors si tu as une méthode pour setter l'encoding à ce moment là, feel free parce que je n'ai pas trouvé.


---------------
Just because you feel good does not make you right
n°248342
darklord
You're welcome
Posté le 19-11-2002 à 13:10:17  profilanswer
 

biface > Est ce que tu sais comment modifier le DocumentBuilder par défaut pour qu'il génère un doc XML avec un encoding ISO-8859-1 ???


---------------
Just because you feel good does not make you right
n°248345
arghbis
salops de dauphins
Posté le 19-11-2002 à 13:15:51  profilanswer
 

je me trompe pitêtre, mais normalement, l'encodage se définit dans la DTD, donc regardes de ce côté là...  :??:

n°248358
chichos
Posté le 19-11-2002 à 13:44:08  profilanswer
 

Salut, je sais pas si ça peut répondre à tes questions mais j'avais eu à peu près les mêmes problèmes.
j'avais des tonnes d'erreurs dès que je faisais passer des caractères non UTF-8 entre mon client et mon serveur SOAP
 
j'ai retrouvé mes lignes de code vite fait.
à l'époque, ma solution avait été de tout transformer en byte avant d'envoyer ma requête:
 
params.addElement(new Parameter("message",byte[].class,Serialize(doc).getBytes(),null));
 
avec une méthode Serialize( Document doc ) qui permet de récupérer une String à partir d'un Document.
 
Il me semble qu'une autre solution était de passer mon flux XML dans une méthode qui transformait en base 64 ... avant de l'envoyer...
 
sais plus exactement  :whistle: mais ça peut te donner des pistes...

n°248395
darklord
You're welcome
Posté le 19-11-2002 à 14:25:07  profilanswer
 

arghbis a écrit a écrit :

je me trompe pitêtre, mais normalement, l'encodage se définit dans la DTD, donc regardes de ce côté là...  :??:  




 
tu te trompes ...


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 19-11-2002 à 14:25:07  profilanswer
 

n°248397
darklord
You're welcome
Posté le 19-11-2002 à 14:25:52  profilanswer
 

chichos a écrit a écrit :

Salut, je sais pas si ça peut répondre à tes questions mais j'avais eu à peu près les mêmes problèmes.
j'avais des tonnes d'erreurs dès que je faisais passer des caractères non UTF-8 entre mon client et mon serveur SOAP
 
j'ai retrouvé mes lignes de code vite fait.
à l'époque, ma solution avait été de tout transformer en byte avant d'envoyer ma requête:
 
params.addElement(new Parameter("message",byte[].class,Serialize(doc).getBytes(),null));
 
avec une méthode Serialize( Document doc ) qui permet de récupérer une String à partir d'un Document.
 
Il me semble qu'une autre solution était de passer mon flux XML dans une méthode qui transformait en base 64 ... avant de l'envoyer...
 
sais plus exactement  :whistle: mais ça peut te donner des pistes...




 
non mais le deal (et c'est étonnant) c'est que la requete passe très bien ... Mais pour la réponse par contre ...


---------------
Just because you feel good does not make you right
n°248433
arghbis
salops de dauphins
Posté le 19-11-2002 à 14:49:44  profilanswer
 

ben je me disais bien aussi que je me trompais .... mais on sait jamais, des fois, les erreurs des autres nous mettent sur la piste!!  :whistle:  
et pis moi, je commence juste le SOAP!!  :D

n°248435
benou
Posté le 19-11-2002 à 14:52:01  profilanswer
 

soap ca sux !
 
[:panneauQuiDitjeSuisDehors]

n°248445
darklord
You're welcome
Posté le 19-11-2002 à 14:58:20  profilanswer
 

benou a écrit a écrit :

soap ca sux !
 
[:panneauQuiDitjeSuisDehors]




 
 [:tapai]


---------------
Just because you feel good does not make you right
n°248453
--greg--
Posté le 19-11-2002 à 15:08:29  profilanswer
 

benou a écrit a écrit :

soap ca sux !
 
[:panneauQuiDitjeSuisDehors]



[:dehors] --> [ : dehors ]


Message édité par --greg-- le 19-11-2002 à 15:08:38

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°248957
BifaceMcLe​OD
The HighGlandeur
Posté le 19-11-2002 à 19:34:06  profilanswer
 

DarkLord a écrit a écrit :

biface > Est ce que tu sais comment modifier le DocumentBuilder par défaut pour qu'il génère un doc XML avec un encoding ISO-8859-1 ???




Là tu franchis mon niveau d'incompétence...  :( Sorry.

n°249251
darklord
You're welcome
Posté le 20-11-2002 à 09:26:36  profilanswer
 

:cry: mais enfin il doit qd meme y a voir moyen de générer des documents XML avec encoding ISO-8859-1 quand meme non ???


---------------
Just because you feel good does not make you right
n°249423
duchzeworl​d
Posté le 20-11-2002 à 13:02:04  profilanswer
 

Personnellement, j'utilise le code suivant mais je ne sais pas si ça va te convenir.
 

Code :
  1. import java.util.StringWriter;
  2. import java.io.IOException;
  3. import org.apache.xml.serialize.OutputFormat;
  4. import org.apache.xml.serialize.XMLSerializer;
  5. import org.w3c.dom.Element;
  6. public static String serializeXML(Element element) throws IOException
  7. { StringWriter ret = null;
  8.   try
  9.   { OutputFormat outFormat = new OutputFormat("xml","ISO-8859-1",false);
  10.     ret = new StringWriter();
  11.     XMLSerializer xmls = new XMLSerializer(ret, outFormat);
  12.     xmls.serialize(element);
  13.   }
  14.   catch (IOException e)
  15.   { System.out.println("ERROR" );
  16.     throw e;
  17.   }
  18.   return ret.getBuffer().toString();
  19. }

n°249509
darklord
You're welcome
Posté le 20-11-2002 à 13:42:56  profilanswer
 

mais je ne veux pas sérializer un Element hein ...


---------------
Just because you feel good does not make you right
n°249517
--greg--
Posté le 20-11-2002 à 13:53:57  profilanswer
 

cherche un peu hein :o
 


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°249527
darklord
You're welcome
Posté le 20-11-2002 à 14:06:32  profilanswer
 

--greg-- a écrit a écrit :

cherche un peu hein :o
 
 




 
mais je ne fais que ca. Retourne à tes threads toi débutant :o


---------------
Just because you feel good does not make you right
n°249530
--greg--
Posté le 20-11-2002 à 14:08:53  profilanswer
 

[:--greg--]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [SOAP] Changer l'encoding d'une requête

 

Sujets relatifs
changer la couleur des barres de défilement[Access97] Aide requête paramétrée...
[mysql]requete de type arbre (rechercher n-peres][SOAP] Un ch'tit problème avec SOAP::Lite
Nombre de requete pour l'affichage d'un forum : Normes?[HTML] comment changer un bouton de formulaire par une image?
résultat d'une requête sur une même ligne en SQL Server[script vbs] comment empêcher l'utilisateur de changer le mdp ?
Mettre des "balises" sur des images pour les changer ds crt cas[MYSQL] Problème de requête
Plus de sujets relatifs à : [SOAP] Changer l'encoding d'une requête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR