@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,
IOException {
// create a context object, dispatch and handle exceptions
CallContext context = null;
try {
context = HttpUtils.createContext(request, getServletContext(),
CallContext.BINDING_ATOMPUB, callContextHandler);
dispatch(context, request, response);
} catch (Exception e) {
if (e instanceof CmisPermissionDeniedException) {
if ((context == null) || (context.getUsername() == null)) {
response.setHeader("WWW-Authenticate", "Basic realm=\"CMIS\"");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Authorization Required");
} else {
response.sendError(getErrorCode((CmisPermissionDeniedException) e), e.getMessage());
}