OVH Cloud OVH Cloud

[socket][XML]

1 réponse
Avatar
LOSINGER Olivier
Bonjour,

J'ai réalisé un serveur qui renvoie via un socket (BufferedReader,
BufferedWriter) le résultat d'un requete sous forme XML.


Copie d'une partie du code serveur : (canalEcriture est un
BufferedWriter)

//Sortie chaine
StreamResult out = new StreamResult(canalEcriture);
//creation du transformateur
TransformerFactory transformFactory = TransformerFactory.newInstance
();
Transformer transform = transformFactory.newTransformer();
DOMSource in = new DOMSource(root);
//transformation dans la sortie
transform.transform(in, out);


Le résultat est un flux XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<resulat><CLIENT adresse1="" cp="66552" adresse2="" nom="test"
pays="France" ville="perpignan"></resultat>

Seulement, lorsque je lie le flux par un BufferedReader.readLine(), je
n'obtiens que la partie : <?xml version="1.0" encoding="ISO-8859-1"?>
Un BufferedReader.readLine() suplémentaire reste bloqué en attente.

Une idée pour récuperer le flux total ?

1 réponse

Avatar
jerome moliere
LOSINGER Olivier wrote:
Bonjour,

J'ai réalisé un serveur qui renvoie via un socket (BufferedReader,
BufferedWriter) le résultat d'un requete sous forme XML.


Copie d'une partie du code serveur : (canalEcriture est un
BufferedWriter)

//Sortie chaine
StreamResult out = new StreamResult(canalEcriture);
//creation du transformateur
TransformerFactory transformFactory = TransformerFactory.newInstance
();
Transformer transform = transformFactory.newTransformer();
DOMSource in = new DOMSource(root);
//transformation dans la sortie
transform.transform(in, out);


Le résultat est un flux XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<resulat><CLIENT adresse1="" cp="66552" adresse2="" nom="test"
pays="France" ville="perpignan"></resultat>

Seulement, lorsque je lie le flux par un BufferedReader.readLine(), je
n'obtiens que la partie : <?xml version="1.0" encoding="ISO-8859-1"?>
Un BufferedReader.readLine() suplémentaire reste bloqué en attente.

Une idée pour récuperer le flux total ?



verifier la presence de close fermant les flux ?


jerome