0 Replies Latest reply on Sep 4, 2013 7:21 AM by myan123

    Resteasy Oneway request , PreProcessInterceptor issue

    myan123 Newbie


      I am new to Jboss resteasy, I am using a oneway=true in the requets url, I also got the PreProcessInterceptor working fine, when the client calls the webservice with oneway=true then the client is able to get the response as 202. But in the interceptor, I see the request is of type org.jboss.resteasy.mock.MockHttpRequest and I was unable to get the request.getAttribute () (is always null) which the client has specified while calling the service. If I do not use oneway=true then request.getAttribute ("attribute") is not null. When I decompiled the code org.jboss.resteasy.core.AsynchronousDispatcher.invoke(HttpRequest in, HttpResponse response, ResourceInvoker invoker) found that


      if(queryParameters.get("oneway") != null)

                  oneway(in, response, invoker);


      public void oneway(HttpRequest request, HttpResponse response, final ResourceInvoker invoker)


              logger.debug("IN ONE WAY!!!!!");

              final MockHttpRequest in;



                  in = MockHttpRequest.deepCopy(request);



      deepCopy(HttpRequest request)

              throws IOException


              MockHttpRequest mock = new MockHttpRequest();

              mock.uri = request.getUri();

              mock.httpHeaders = (HttpHeadersImpl)request.getHttpHeaders();

              mock.httpMethod = request.getHttpMethod();

              byte bytes[] = ReadFromStream.readFromStream(1024, request.getInputStream());

              mock.inputStream = new ByteArrayInputStream(bytes);

              mock.preprocessedPath = request.getPreprocessedPath();

              return mock;



      I see that in the deepcopy method of MockHttpRequest, the attributes are getting missed. Can I know why the attributes are getting missed?


      Any help would greatly appreciated.