Hi!
I want to load an XML-file from a wicket page concerning the html page
parameters with javascript. The javascript part (load and parse xml)
works fine and also the generated xml file is okay.
I just always get an
java.lang.IllegalStateException: getOutputStream() has already been
called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:599)
at
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at wicket.protocol.http.WebResponse.write(WebResponse.java:315)
at
wicket.protocol.http.BufferedWebResponse.close(BufferedWebResponse.java:75)
at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:229)
[...]
I did some research on this problem and found some workarounds for jsp.
I also tried different combinations of Streams and Writers. Alsways that
exception.
The code:
private void parametersToResponse(Map<String, String> params, Response
res) throws IOException {
res.setContentType("text/xml");
logger.info("map: " + params);
// test for illegal keys
if ( containsIllegalKeys(params) || params.isEmpty() ) {
logger.warn(howtoString);
res.write(howtoString); //works!
} else {
// get news from database
Collection<News> news = getNewsFromDB(params);
// create xml document from news
Document doc = createXML(news);
// write xml file to stream
XMLOutputter xmlout = new XMLOutputter();
// res.write( xmlout.outputString( doc ) ); //does not
work, res
writes xml to beginning of html page
xmlout.output(doc, res.getOutputStream() ); //somehow
dublicate call
of getOutputStream !!!
}
}
Another solution would be, not to use XMLOutputter, just
response.write("..."), but I don't get a correct XML file but just my
xml put before the html:
<?xml version="1.0" encoding="UTF-8"?>
<newsList [...]
<html>
<head>[...]
Anybody an idea how to solve the former or the latter?
Regards,
Daniel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user