users@glassfish.java.net

Re: [Jersey] Error pages when status != 2xx

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Mon, 01 Dec 2008 10:04:36 +0100

Hi Rod,

In addition to what Craig states, which i think is good advice, i am
wondering if there is a way to configure servlet to stop automatically
adding an HTML error page to responses.

I am CC'ing the glassfish users list to see if anyone can help.

Paul.

On Dec 1, 2008, at 5:18 AM, Rod Fitzsimmons Frey wrote:

> Hi there. I’m having some trouble wrapping my head around
> ResponseBuilder and how it handles error flow conditions. My
> apologies if this question belongs on another list: I’m a refugee
> from rails and I’ve not quite internalized the various boundaries.
>
> My problem is that I’d like to respond to a REST request with a
> particular error code and nothing else, but I can’t get rid of the
> default Glassfish HTML error page. I’ve got a @Post method that
> returns the created object, which is annotated with @XMLRootObject.
> Works like a champ for the regular flow, but for duplicate create
> requests I tried to send a 409 Conflict:
>
> if(userDAO.findUserByEmail(email) != null) {
> throw new WebApplicationException(409);
> }
>
> Which when invoked with curl gave me the 409 as desired, plus a big
> XHTML error page. I have also tried changing the return type to a
> Response and using
>
> return Response.noContent().status(409).build();
> return Response.status(409).entity("").build();
> return Response.status(409).build();
>
> all of which return the HTML error page. I’ve tried sending 409s to
> a blank.html page in the web.xml but that didn’t work either (I
> found out why in an archive search here: https://jersey.dev.java.net/servlets/ReadMsg?listName=users&msgNo=484
>
> I have a feeling this is a RTFM moment but I can’t find the
> appropriate M to FR. Any help would be greatly appreciated.
>
> Rod