Hi,
I have a CXF JAX-WS service where custom authentication and authorization is done using a class, SoapAuthInterceptor which extends AbstractPhaseInterceptor<Message>.
When authentication fails I want to set HTTP Response code 401 and when authorization fails I want to set HTTP Response code 403.
In the method handleMessage(Message message) of SoapAuthInterceptor I have tried the following but it still only send response code 500.
If (Authorization fails)
HttpServletResponse httpServletResponse = (HttpServletResponse)message.get("HTTP.RESPONSE");
httpServletResponse.addHeader("Response-Code", "403");
message.put("HTTP.RESPONSE", httpServletResponse);
throw new AuthenticationException("Forbidden 403"); // This goes as SOAP Fault in the response
Is there a way to set HTTP response code in this case. Please help.
Thanks in advance.
Regards
Paul
I have a CXF JAX-WS service where custom authentication and authorization is done using a class, SoapAuthInterceptor which extends AbstractPhaseInterceptor<Message>.
When authentication fails I want to set HTTP Response code 401 and when authorization fails I want to set HTTP Response code 403.
In the method handleMessage(Message message) of SoapAuthInterceptor I have tried the following but it still only send response code 500.
If (Authorization fails)
HttpServletResponse httpServletResponse = (HttpServletResponse)message.get("HTTP.RESPONSE");
httpServletResponse.addHeader("Response-Code", "403");
message.put("HTTP.RESPONSE", httpServletResponse);
throw new AuthenticationException("Forbidden 403"); // This goes as SOAP Fault in the response
Is there a way to set HTTP response code in this case. Please help.
Thanks in advance.
Regards
Paul