Ho provato a leggere i dati dal socket in questo modo e poi a creare xml in questo modo:
codice:
DataInputStream dataInStream = new DataInputStream(skt.getInputStream());
receiverBuffer = new byte[1024];
receiveCorrectBuffer(receiverBuffer);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
parser = factory.newDocumentBuilder();
d = parser.parse(new ByteArrayInputStream(receiverBuffer));
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t;
t = tf.newTransformer();
t.transform(new DOMSource(d), new StreamResult(System.out));
con
public void receiveCorrectBuffer(byte[] buffer) throws IOException {
ByteBuffer bb = ByteBuffer.wrap(buffer);
bb.order(ByteOrder.LITTLE_ENDIAN);
dataInStream.read(buffer, 0, 1024);
}
Ma mi dà il seguente errore:
codice:
[Fatal Error] :1:69: Content is not allowed in trailing section.
org.xml.sax.SAXParseException: Content is not allowed in trailing section.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at sim.engine.rxXML.SimReceiverXML.run(SimReceiverXML.java:116)
Forse l'errore è nella costruzione del buffer???