webService中获取request和response对象

注意: 在webservice中可以获取request和response中的信息,  但是response无法设置http status Code状态码.   可能是webservice响应之前自己组装的http头信息:

方式一:

@Resource
    private WebServiceContext context;

....
MessageContext mc = context.getMessageContext();
    	HttpServletResponse response = (HttpServletResponse)     mc.get(MessageContext.SERVLET_RESPONSE);
    	HttpServletRequest request = (HttpServletRequest)     mc.get(MessageContext.SERVLET_REQUEST);

方式二:

WebServiceContext context = new WebServiceContextImpl();
    	MessageContext cc = context.getMessageContext();
    	HttpServletResponse response = (HttpServletResponse)cc.get(AbstractHTTPDestination.HTTP_RESPONSE);
    	response.setStatus(404);

方式三:

Message msg = PhaseInterceptorChain.getCurrentMessage();
    	HttpServletResponse response = (HttpServletResponse)msg.get(AbstractHTTPDestination.HTTP_RESPONSE);
    	response.setStatus(400);

猜你喜欢

转载自blog.csdn.net/liao0801_123/article/details/82759258