Hi, Looks as defect for me. I will expect 400 Bad Request from CXF servlet in this case. Sergei, WDYT?
Regards, Andrei. > -----Original Message----- > From: Mandy Warren [mailto:[email protected]] > Sent: Samstag, 22. Juni 2013 17:01 > To: [email protected] > Subject: How to intercept exceptions thrown by CXF servlet > > > I have developed a REST service using Apache CXF and notice that if I send > invalid characters in the URL, the CXF servlet throws back the following > exception before it gets to my code: > > Servlet failed with Exception java.lang.IllegalArgumentException at > java.net.URI.create(URI.java:841) at > org.apache.cxf.transport.servlet.BaseUrlHelper.getBaseURL(BaseUrlHelper.j > ava:49) at > org.apache.cxf.transport.servlet.ServletController.getBaseURL(ServletContr > oller.java:73) at > org.apache.cxf.transport.servlet.ServletController.updateDestination(Servle > tController.java:82) at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.j > ava:162) at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.j > ava:137) at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpring > Servlet.java:158) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstra > ctHTTPServlet.java:239) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPS > ervlet.java:164) at > javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPS > ervlet.java:215) > This results in a 500 status code being returned to the client. > > I would ideally like to intercept this exception and return a 400 Bad Request > status code to the client but I am unable to work out how to do this. > > Any help much appreciated! > > Many thanks >
