Sometimes in the webservice we need to get the request object and the response object, such as want to obtain the client's access IP when we need to do this, the following three ways, Of course, there are three ways that you might deploy WebService to get the request object in a different way.
First: Configure injection first:
@Resource Private Webservicecontext Webservicecontext;
The following code is followed:
Messagecontext mc == (HttpServletRequest) (Mc.get (messagecontext.servlet_request));
The second type:
New== (httpservletrequest) ctx.get (abstracthttpdestination.http_request);
Third (with the method of obtaining the client IP address):
Message message == (httpservletrequest) message.get (abstracthttpdestination.http_request);
Get IP:
Public Staticstring getipaddr (HttpServletRequest request) {string IP= Request.getheader ("X-forwarded-for"); if(IP = =NULL|| Ip.length () = = 0 | | "Unknown". Equalsignorecase (IP)) {IP= Request.getheader ("Proxy-client-ip"); } if(IP = =NULL|| Ip.length () = = 0 | | "Unknow". Equalsignorecase (IP)) {IP= Request.getheader ("Wl-proxy-client-ip"); } if(IP = =NULL|| Ip.length () = = 0 | | "Unknown". Equalsignorecase (IP)) {IP=request.getremoteaddr (); } returnIP; }
Three ways to get the request object from the Java WebService server side