Voilà mon problème. J'envoie une requête HTTP à un serveur et celui-ci me retourne un flux XML que je récupère en InputStream. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
InputStream response = socket.getInputStream();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(response);
socket.close();
Voici ce qu'il y a dans mon InputStream :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
Date: Thu, 11 Aug 2005 09:34:12 GMT
Server: Apache Coyote/1.0
 
fc
<?xml version="1.0" encoding="ISO8859_1"?>
<ARCXML version="1.1">
<RESPONSE>
<ERROR machine="mdp-preprod.capgemini.fr" processid="1478" threadid="3076">
AXLParser: Document cannot be parsed correctly. Check encoding.
</ERROR>
</RESPONSE>
</ARCXML>0
Mon problème est que la méthode parse retourne une exception me disant que l'élément racine est manquant. J'imagine que c'est la partie avant <?xml version...> qui pose problème. Alors comment faire pour ne pas prendre en compte cette partie ?