1 Reply Latest reply on Feb 15, 2010 2:02 PM by Juan Pablo Sabadini

    Accesing Http Request object from a WS

    Juan Pablo Sabadini Newbie

      Hi everybody,

                  I really need the community help on this one. I have a web app running on Jboss 4.2.2GA with jbossws-native-2.0.1.SP2 (build=200710210837). I need to find the IP host of where the user is accesing the WS... If I had the htto request object I could access with the following code:



        HttpServletRequest request = ... do the object intanciation here...

        String remoteHost = request.getRemoteAddr();




           So I need or access to the http request object or get a similar object in WS...


           Thanks for any help!



        • 1. Re: Accesing Http Request object from a WS
          Juan Pablo Sabadini Newbie

          I found the way to access to the HttpServletRequest object. I post the anwser because maybe helps somebody. Here is the code (i'm posting a code of mine, it's a login):



          //imports here


          public class VmobileWS {
               //The WebServiceContext has the HttpServletRequest in it.

               WebServiceContext wsCtx;
              public UserDTO login(@WebParam(name="username") String username, @WebParam(name="password")  String password) {
                  UserServiceEJBLocal userService = null;
                  try {
                      userService = UserServiceEJBUtil.getLocalHome().create();
                      String md5Hash;
                      md5Hash = MD5.createMD5(password);
                      UserDTO userData = new UserDTO();


                      userData = userService.authenticateUser(userData);


                      if(userData.getVmobileLogin()) {
                          SOAPMessageContext jaxwsContext = (SOAPMessageContext)wsCtx.getMessageContext();
                         //Here I extract the
          HttpServletRequest from the WebServiceContext.

                                         HttpServletRequest request =                (HttpServletRequest)jaxwsContext.get(SOAPMessageContext.SERVLET_REQUEST);
                          String remoteAddr = request.getRemoteAddr();
                          HttpSession session = request.getSession();
                          session.setAttribute(Constants.WEB_SESSION_USER_DTO_KEY, userData);
                          return userData;
                  catch (NamingException e) {
                      return null;
                  catch (Exception e) {
                      return null;
                  return null;