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

  FORUM HardWare.fr
  Programmation
  Java

  org.xml.sax.SAXParseException: Content is not allowed in prolog.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

org.xml.sax.SAXParseException: Content is not allowed in prolog.

n°448583
LeMicky
Posté le 04-07-2003 à 12:01:49  profilanswer
 

Salut,
 
Bon à chaque fois que je poste sur le forum personne ne me donne la solution... voyons si cette fois ce sera l'exception.
 
Je fais du SOAP over SMTP.
Donc j'envoie ma requête SOAP sur une adresse mail :
code java:
 

Code :
  1. SOAPTransport ss = new org.apache.soap.transport.smtp.SOAPSMTPConnection(
  2.      /* from/replyto address */ myaddress,
  3.      /* subject */ "SOAP SMTP Request (TEST)",
  4.      /* smtpServer */ myserver,
  5.      /* popPollDelay in millis */ 30000,
  6.      /* popServer */ myserver,
  7.      /* popLogin */ mylogin,
  8.      /* popPassword */ mypassword
  9. );
  10.      Call call = new Call();
  11.      call.setSOAPTransport(ss);  // use smtp transport instead of http
  12. call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
  13. call.setTargetObjectURI(myurn);
  14. call.setMethodName(mymethod);
  15. Vector params = new Vector();
  16. params.add(new Parameter("langue", java.lang.String.class,lan_code, null));
  17. if(geo_code!=null)
  18.    params.add(new Parameter("zonegeo", java.lang.String.class, geo_code, null));
  19. call.setParams(params);
  20. URL urls = new URL("mailto:myaddressemail" );
  21. //  URL urls = new URL(refResource.getString("urlSoap" ));
  22. Response resp = call.invoke(urls,"" );


 
=> je reçois bien le mail, j'ai une appli java qui tourne sur mon poste qui scanne la bal et traite le mail => envoie au web service via http classique de la requête soap, et envoie de la réponse soap à la bal destinataire de la réponse (myaddress ci-dessus) => ex de mail réponse :
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getCountriesResponse xmlns:ns1="urn:ReferentielWebServices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xmlns:ns2="http://xml.apache.org/xml-soap" xsi:type="ns2:Vector">
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">ZA</item>
<item xsi:type="xsd:string">AFRIQUE DU SUD</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">BW</item>
<item xsi:type="xsd:string">BOTSWANA</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">LS</item>
<item xsi:type="xsd:string">LESOTHO</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">NA</item>
<item xsi:type="xsd:string">NAMIBIE</item>
</item>
<item xsi:type="ns2:Vector">
<item xsi:type="xsd:string">SZ</item>
<item xsi:type="xsd:string">SWAZILAND</item>
</item>
</return>
</ns1:getCountriesResponse>
 
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 
=> jusque là tout marche nickel, là où ça se gatte c'est maintenant car le parserxml n'arrive pas à lire le mail apparemment et me fait l'erreur suivante =>
2003-07-04 11:08:29,388 ERROR 1456125 [Thread-127] - Country : service : [SOAPException: faultCode=SOAP-ENV:Client; msg=Parsing error, response was:
Content is not allowed in prolog.; targetException=org.xml.sax.SAXParseException: Content is not allowed in prolog.]
 
 
Apparemment, ça viendrait de l'encryption du mail...
des idées, qqun a déjà été confronté au problème?

mood
Publicité
Posté le 04-07-2003 à 12:01:49  profilanswer
 

n°448608
Kahyman
Posté le 04-07-2003 à 12:30:55  profilanswer
 

LeMicky a écrit :

Salut,
<?xml version='1.0' encoding='UTF-8'?>


 
Double quotes ? UTF-16 (tous les parsers ne sont pas d'accord sur ce que permet UTF-8 apparemment) ?
 
<?xml version="1.0" encoding="UTF-8"?>
 
Sinon tu parse bien le contenu du mail (et pas tout le mail) (desole, mais on ne sait jamais)?

n°448610
Kahyman
Posté le 04-07-2003 à 12:32:25  profilanswer
 

Kahyman a écrit :


 
Double quotes ? UTF-16 (tous les parsers ne sont pas d'accord sur ce que permet UTF-8 apparemment) ?
 
<?xml version="1.0" encoding="UTF-8"?>
 
Sinon tu parse bien le contenu du mail (et pas tout le mail) (desole, mais on ne sait jamais)?


 
Sinon quelle VM utilises-tu (l'encoding par defaut differe d'une vm a l'autre et d'apres ce que j'ai lu sur differents postes ca posait souvent des problemes dans des cas similaires au tiens)?

n°448615
Kahyman
Posté le 04-07-2003 à 12:34:19  profilanswer
 

autre truc, s'il y a un # dans le nom de ce que tu parse, le parser perd les pedalles (c.f. code du reader SAX si mes souvenirs sont bons)

n°448630
darklord
You're welcome
Posté le 04-07-2003 à 12:49:34  profilanswer
 

LeMicky a écrit :

Bon à chaque fois que je poste sur le forum personne ne me donne la solution... voyons si cette fois ce sera l'exception.


 
la phrase qui donne *vraiment* envie de t'aider  :heink:


---------------
Just because you feel good does not make you right
n°448778
LeMicky
Posté le 04-07-2003 à 14:44:01  profilanswer
 

Re!
 
Bon, j'utilise la JVM de Microsoft, je suis sur du Win2000 server.
 
En fait, moi-même de mes petites mains je ne parse rien du tout, tout est fait automatiquement par soap lors de l'appel call.invoke(urls,"" ); => il fait tout tout seul comme un grand.
 
Bon là j'ai tripatouillé les options de mon serveur de mail (c'est un Domino 5) et de mes bals et..... ça marche!
Bon le problème étant que je ne suis pas un expert de l'encodage ou de la messagerie, donc je vais attendre que mon architecte messagerie rentre pour lui montrer ce que j'ai tripatouillé pour ne garder que ce qui compte vraiment.
 
Pareil le <?xml version='1.0' encoding='UTF-8'?>  est généré automatiquement par SOAP, je n'ai pas la main dessus (sauf à mettre les mains dans les classes soap et les recompiler).
Par http, ça marche nickel (donc le UTF-8 encoding est à priori ok pour le message SOAP en lui-même).
C'était l'encodage du mail lui-même ou du moins du corps du mail (pour répondre à Kahyman, je pense qu'il ne lit que le corps du message) qui posait problème et pas son contenu (le xml est correct et est bien désarialisé - pour preuve la requête SOAP est lue et interprétée de façon correcte- , le problème était dans la réponse, il me mettait un charset=UTF-8 dans l'entête MIME du corps du message qui n'apparaissait pas dans celui de la requête => c'est la seule différence que j'ai pu constater, donc j'imagine que c'est ce charset qui mettait la grouille.
 
Bon maintenant que ça marche vous allez me dire => regarde l'entête du corps du message réponse! ben heu... le pb est qu'il efface le message dès qu'il l'a traité et du coup je n'ai pas le temps de voir... (faudrait que je retouche à la classe SMTP2HTTP de SOAP pour qu'il n'efface pas le message).
 
 
Merci Kahyman pour ses réponses.
Pour DarkLord, désolé, mais j'ai été assez échaudé par mes précédentes expériences de post sur le forum.
 
A+

n°448931
Kahyman
Posté le 04-07-2003 à 17:06:35  profilanswer
 

DarkLord a écrit :


 
la phrase qui donne *vraiment* envie de t'aider  :heink:  


 
Euh... perso je suis partielement d'accord avec lui  :lol: la pluspart des problemes pointus ne trouvent pas ou peu de solution ici (d'ailleurs ce n'est pas ici qu'il faut chercher dans ce cas AMHA, mais sur des forums specialises)
 
Ceci dit la tournure de sa phrase aurait pu etre plus diplomatique et tu aurais pu fermer les yeux sur le cote negatif ;)


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

  org.xml.sax.SAXParseException: Content is not allowed in prolog.

 

Sujets relatifs
PROLOG HELP puissance 4[Php, mysql] [résolu] Récupérer la valeur de max_allowed_packet ?
[MAPI/VB] modifié le Content-Transfer-Encoding d'une piece jointe[JAVA] Pb d'interfaçage avec SICStus Prolog sous XP
Faire du Prolog en Perl ?[Prolog] Effacer et ajouter des clauses dans une clause
[prolog] coment on compare deux characteres ?[Prolog] je cherche un prolog gratuit à télécharger
CONTENT MANAGEMENT SYSTEM >> CMSQui a des cours Prolog sous forme informatique à me passer????
Plus de sujets relatifs à : org.xml.sax.SAXParseException: Content is not allowed in prolog.


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