1
私はRestletフレームワークを使用しており、DomRepresentationを使用してXMLを返すWebサービスを作成しています。私もTEXT_XMLを試してみましたjava.io.IOException:...有効なチャンクサイズである
public Representation toXml(Hashtale theHashtable)
{
try
{
DomRepresentation aDomRepresentation = new DomRepresentation(MediaType.APPLICATION_XML);
Document aDocument = aDomRepresentation.getDocument();
Element aElementRoot = aDocument.createElement("root");
aDocument.appendChild(aElementRoot);
Element aElementProperties =
aDocument.createElement("properties");
aElementRoot.appendChild(aElementProperties);
// Add nodes to the element
aDocument.normalizeDocument();
return aDomRepresentation;
}
catch (Exception aException)
{
return null;
}
}
、APPLICATION_W3C_SCHEMAのMediaType:ここではコードです。 Restletのクライアント側で
、私はXMLを取得し、解析するために次のコードを使用します。
InputSource aInputSource = new InputSource(getResponseEntity().getStream());
XMLReader aXmlReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
HtHandler ahtHandler = new HtHandler();
aXmlReader.setContentHandler(ahtHandler);
aXmlReader.parse(aInputSource);
return ahtHandler.getResult();
HtHandlerはたDefaultHandlerを拡張するクラスです。
私がチェックしたjava.io.IOException: <encoding="UTF-8" standalone="no"?><root><properties><workflow_id>0</workflow_id><name>name</name><id>1</id></properties></root>> is an invalid chunk size
at org.restlet.engine.http.io.ChunkedInputStream.readChunkSize(ChunkedInputStream.java:232)
at org.restlet.engine.http.io.ChunkedInputStream.initializeChunk(ChunkedInputStream.java:161)
at org.restlet.engine.http.io.ChunkedInputStream.canRead(ChunkedInputStream.java:97)
at org.restlet.engine.http.io.ChunkedInputStream.read(ChunkedInputStream.java:182)
、XMLSのほとんどが正しく解析されています
たびに、私は、このエラーメッセージが表示されました。なぜ、正しく解析されないXMLが1つあるのかわかりませんが、このXMLの最後にもう1つの ">"があります。
非常に参考になるアイディアです。
ありがとうございます!ここで Ikeforward
最後に余分なものを取り除こうとしましたが、どうなりますか? – ant
失敗したXMLソースをエラーログにルーティングしてください。 –