Erik Eide schrieb:
Hi
I've a small REST web service, I'd like to deploy in Tomcat 5.5.12.
When I try and return status code 409 (Conflict) and an error message
in the response body for a POST operation, Tomcat seems to overwrite
the status code with a 404 (Not Found).
If I do not return a response body, the original status code 409 is
retained. RFC 2616 seems to suggest that its cool to return a response
body with a 409, so I wonder if there is something else I'm doing
incorrectly or have forgotten to configure ?
Sample:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
OutputStreamWriter writer = new
OutputStreamWriter(response.getOutputStream());
writer.write("Entity already exists");
response.setStatus(HttpServletResponse.SC_CONFLICT);
}
Try setting the status code before writing to the response.
Btw: why don't you use response.getWriter()?
This sends the correct response with body on my tomcat (5.5.12):
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException {
try {
hsrs.setStatus(HttpServletResponse.SC_CONFLICT);
PrintWriter pw = hsrs.getWriter();
pw.write("do post has a conflict");
} catch (IOException e) {
log.severe(e.getMessage());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]