title: Timeout for Webservice response?
body: <p>I have a client that calls a webservice.
  Partly some of the called methods may take a long time to complete on the server (even up to 1 hour). I want the client to wait for the response for that time, thus keeping the connection alive!</p>
  
  <p>I tried to set the following property within the client, but without success:</p>
  
  <pre><code>((BindingProvider)port).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 0); //0 for disabling any timeouts
  </code></pre>
  
  <p>I'm still getting Timeout Exception after some time. Which property has to be set to prevent the following error?</p>
  
  <pre><code>org.apache.cxf.interceptor.Fault: Transaction was rolled back, presumably because setRollbackOnly was called during a synchronization while invoking public abstract boolean my.method
      at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
      at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:213)
      at org.apache.openejb.server.cxf.ejb.EjbMethodInvoker.preEjbInvoke(EjbMethodInvoker.java:146)
      at org.apache.openejb.server.cxf.ejb.EjbMethodInvoker.invoke(EjbMethodInvoker.java:72)
      at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
      at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)
      at org.apache.openejb.server.cxf.CxfWsContainer.onMessage(CxfWsContainer.java:73)
      at org.apache.openejb.server.webservices.WsServlet.service(WsServlet.java:98)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: org.apache.openejb.core.transaction.TransactionRolledbackException: Transaction was rolled back, presumably because setRollbackOnly was called during a synchronization
      at org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:335)
      at org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75)
      at org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:73)
      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:258)
      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:190)
      at org.apache.openejb.server.cxf.ejb.EjbMethodInvoker.preEjbInvoke(EjbMethodInvoker.java:119)
      ... 30 more
  Caused by: javax.transaction.RollbackException: Unable to commit: transaction marked for rollback
      at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:272)
      at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
      at org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:328)
      ... 35 more
  Caused by: java.lang.Exception: Transaction has timed out
      at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:266)
      ... 37 more
  </code></pre>