2010-04-16 16 views
1

J'utilise JMS Messaging dans mon programme Java. Mes messages proviennent d'IBM Main Frame et les messages sont des fichiers XML.SAX Parse Exception

Mainframe pousse des messages qui est des fichiers xml à la file d'attente

Mais lorsque le programme java lit les messages de la file d'attente un caractère supplémentaire « ? » est ajouté devant le fichier xml. Par exemple, un fichier comme celui-ci:

<?xml version="1.0" encoding="UTF-8"?> 

devient

?<?xml version="1.0" encoding="UTF-8"?> 

quand je lis le message de la file d'attente.

Et lorsque je tente d'analyser ce que je surprends l'exception suivante

SAX Exception org.xml.sax.SAXParseException: Content is not allowed in trailing section. Content is not allowed in trailing section 

Quelle pourrait être la raison de ce caractère supplémentaire s'ajouté?

Répondre

0

le premier point d'interrogation est une marque d'octet.

Êtes-vous donné le contenu de la chaîne à l'analyseur?

+0

Oui, nous donnons le contenu de la chaîne à l'analyseur –

+0

Vous devez utiliser un codage correct pour construire la chaîne. meilleure option est de donner un tableau/un flux brut à l'analyseur, de sorte que l'analyseur prenne en charge le codage. –

+0

Ok va essayer que –