如何从轴2 Web服务(REST)返回自定义HTTP响应(400或401)?

时间:2014-12-18 04:21:16

标签: java web-services axis2

是否有任何方法或API可以使用AXIS从RESTful服务返回自定义HTTP响应。我想要的只是将自定义http响应(如400或401)返回给客户端。

2 个答案:

答案 0 :(得分:2)

您可以在webservice返回的HTTPServletResponse中设置响应代码。

response.setStatus(Response.Status.Forbidden)

如果webservice没有直接返回Servlet响应,则需要将这段代码添加到处理程序中,该处理程序在连接到客户端之前创建最终响应。

答案 1 :(得分:0)

如果仍然打开...以下是有关如何获取HTTPServletResponse对象并设置状态的代码

MessageContext responseMessageContext =  
    MessageContext.getCurrentMessageContext();
HttpServletResponse resp =
    (HttpServletResponse) responseMessageContext.getProperty(
    org.apache.axis2.transport.http.HTTPConstants.MC_HTTP_SERVLETRESPONSE);
resp.setStatus(422);

希望有用