3 Replies Latest reply on Mar 29, 2019 9:50 AM by stajmik

    Session Timeout vs. Request Timeout


      I have an installation of Jboss-As 7.1.1 that I'm making some long-running HTTP JAX-WS requests.


      It seems that the requests are timing out (not positive, but they fail) and I wanted to make sure I had the server configured correctly.


      I've found documentation that I can set my 'session timeout' via the web.xml as follows:


      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"


      But I'm assuming that `session-timeout` is not a HTTP request timeout? Is this true? If so how do I change it?

        • 1. Re: Session Timeout vs. Request Timeout

          As far as I know the session-timeout is for an idle web-session.

          The timeout for JAX-WS is something totally different.

          Just recently I found out how to increase the timeout for long lasting web service requests or even to disable the timeout:

          public static void modifyReceiveTimeout( final Object o )
               Client client = ClientProxy.getClient( o );
               HTTPConduit conduit = (HTTPConduit)client.getConduit();
               HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
               httpClientPolicy.setReceiveTimeout( 0 );
               conduit.setClient( httpClientPolicy );


          After getting port interface use the method above to change it:

              MailServiceWSI wsi = this.getPort( new QName( "http://core.ws.fn.mbisoftware.biz/", "MailServiceWSPort" ), MailServiceWSI.class );
              Helper.modifyReceiveTimeout( wsi );
          1 of 1 people found this helpful
          • 2. Re: Re: Session Timeout vs. Request Timeout

            Thanks Frank,


            Perhaps I'm not using a JAX-WS as I thought was the best way to describe it.


            Unless there is an invocation for all the classes annotated this way that I can attach the helper you described too?


            There is an @ApplicationPath defined in another class (which sets the proceeding path), perhaps I could add it here?


            package rest;
            import javax.ws.rs.ApplicationPath;
            import javax.ws.rs.core.Application;
            public class restapplication extends Application

            My methods are defined as public classes, with @Path parameters, like so:


            public class BulkCreate {
              * @param token
              * @param objects
              * @return
             @SuppressWarnings({ "unchecked" })
            public Response query(@QueryParam("token") String token, Object[] object){

            I don't know how one would define "this" type of call? I guess its a REST Call with RestEasy (with some query params)

            • 3. Re: Session Timeout vs. Request Timeout

              I thing you need increase transaction timeout.

              In Management Console:

              Configuration: Subsystems    Subsystem: Transactions - Default timeout