[ 
https://issues.apache.org/jira/browse/CXF-7391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hadrian Zbarcea updated CXF-7391:
---------------------------------
    Description: 
This is for a regular WS-RM scenario, traffic takes place normally, and then 
the server disconnects. After the server restart, the client continues to send 
messages using the known sequence id, but the first message gets rejected 
(rightfully so) with the following stack:

{code:Title=Karaf logs}
2017-06-02 22:56:53,517 | INFO  | ion(3)-127.0.0.1 | GreeterService             
      | 93 - org.apifocal.demo.wsrm.greeter-service - 1.0.0.SNAPSHOT | Greeter 
service starting...
2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
 org.apache.cxf.bus.ManagedBus@2688afbd
2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
 javax.management.modelmbean.RequiredModelMBean@10a214ea
2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registered 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851
2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
 org.apache.cxf.ws.rm.ManagedRMManager@1f0684f2
2017-06-02 22:56:53,525 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
 javax.management.modelmbean.RequiredModelMBean@7c9035e8
2017-06-02 22:56:53,526 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
 org.apache.cxf.bus.managers.WorkQueueManagerImplMBeanWrapper@92bf503
2017-06-02 22:56:53,527 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
 javax.management.modelmbean.RequiredModelMBean@2221c1c0
2017-06-02 22:56:53,530 | INFO  | ion(3)-127.0.0.1 | 
ReflectionServiceFactoryBean     | 46 - org.apache.cxf.cxf-rt-wsdl - 3.1.7 | 
Creating Service {http://demo.apifocal.org/greeter/wsrm}GreeterService from 
WSDL: META-INF/wsdl/org/apifocal/demo/greeter/wsrm/greeter.wsdl
2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | ServerImpl                 
      | 33 - org.apache.cxf.cxf-core - 3.1.7 | Setting the server's publish 
address to be /greeter-wsrm
2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
 org.apache.cxf.endpoint.ManagedEndpoint@b7bb49d
2017-06-02 22:56:53,558 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
 javax.management.modelmbean.RequiredModelMBean@201cfe0
2017-06-02 22:56:55,563 | INFO  | ion(3)-127.0.0.1 | RMCaptureOutInterceptor    
      | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Captured message 4 in 
sequence urn:uuid:e4cc49cd-0da2-4f23-acbf-a2896305cfda
2017-06-02 22:56:55,564 | WARN  | ion(3)-127.0.0.1 | RetransmissionQueueImpl    
      | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Scheduling of WS-RM 
retransmission failed.
java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:397)[:1.8.0_131]
        at java.util.Timer.schedule(Timer.java:208)[:1.8.0_131]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.schedule(RetransmissionQueueImpl.java:651)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.<init>(RetransmissionQueueImpl.java:452)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.cacheUnacknowledged(RetransmissionQueueImpl.java:350)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.addUnacknowledged(RetransmissionQueueImpl.java:134)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.RMCaptureOutInterceptor$CaptureEnd.handleMessage(RMCaptureOutInterceptor.java:277)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)[39:org.apache.cxf.cxf-rt-frontend-simple:3.1.7]
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)[38:org.apache.cxf.cxf-rt-frontend-jaxws:3.1.7]
        at com.sun.proxy.$Proxy89.greetMe(Unknown Source)
        at 
org.apifocal.demo.wsrm.itests.GreeterClientTest.testCall(GreeterClientTest.java:95)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runLeafWithRetry(ContainerTestRunner.java:97)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChildWithRetry(ContainerTestRunner.java:84)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:75)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:44)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:124)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:97)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:83)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)[:1.8.0_131]
        at sun.rmi.transport.Transport$1.run(Transport.java:200)[:1.8.0_131]
        at sun.rmi.transport.Transport$1.run(Transport.java:197)[:1.8.0_131]
        at java.security.AccessController.doPrivileged(Native 
Method)[:1.8.0_131]
        at 
sun.rmi.transport.Transport.serviceCall(Transport.java:196)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)[:1.8.0_131]
        at java.security.AccessController.doPrivileged(Native 
Method)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
{code}

This is configured all the way back to the client. Depending on the ws-rm 
configuration one can experience different behaviors. With a simple ws-rm 
configuration there is a workaround by ignoring the error in the app and 
re-sending the request, but that's defeating the purpose.

  was:
This is for a regular WS-RM scenario, traffic takes place normally, and then 
the server disconnects. After the server restart, the client continues to send 
messages using the known sequence id, but the first message gets rejected 
(rightfully so) with the following stack:

{panel:Title=Karaf logs}
2017-06-02 22:56:53,517 | INFO  | ion(3)-127.0.0.1 | GreeterService             
      | 93 - org.apifocal.demo.wsrm.greeter-service - 1.0.0.SNAPSHOT | Greeter 
service starting...
2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
 org.apache.cxf.bus.ManagedBus@2688afbd
2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
 javax.management.modelmbean.RequiredModelMBean@10a214ea
2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registered 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851
2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
 org.apache.cxf.ws.rm.ManagedRMManager@1f0684f2
2017-06-02 22:56:53,525 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
 javax.management.modelmbean.RequiredModelMBean@7c9035e8
2017-06-02 22:56:53,526 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
 org.apache.cxf.bus.managers.WorkQueueManagerImplMBeanWrapper@92bf503
2017-06-02 22:56:53,527 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
 javax.management.modelmbean.RequiredModelMBean@2221c1c0
2017-06-02 22:56:53,530 | INFO  | ion(3)-127.0.0.1 | 
ReflectionServiceFactoryBean     | 46 - org.apache.cxf.cxf-rt-wsdl - 3.1.7 | 
Creating Service {http://demo.apifocal.org/greeter/wsrm}GreeterService from 
WSDL: META-INF/wsdl/org/apifocal/demo/greeter/wsrm/greeter.wsdl
2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | ServerImpl                 
      | 33 - org.apache.cxf.cxf-core - 3.1.7 | Setting the server's publish 
address to be /greeter-wsrm
2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
 org.apache.cxf.endpoint.ManagedEndpoint@b7bb49d
2017-06-02 22:56:53,558 | INFO  | ion(3)-127.0.0.1 | InstrumentationManagerImpl 
      | 40 - org.apache.cxf.cxf-rt-management - 3.1.7 | registering MBean 
org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
 javax.management.modelmbean.RequiredModelMBean@201cfe0
2017-06-02 22:56:55,563 | INFO  | ion(3)-127.0.0.1 | RMCaptureOutInterceptor    
      | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Captured message 4 in 
sequence urn:uuid:e4cc49cd-0da2-4f23-acbf-a2896305cfda
2017-06-02 22:56:55,564 | WARN  | ion(3)-127.0.0.1 | RetransmissionQueueImpl    
      | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Scheduling of WS-RM 
retransmission failed.
java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:397)[:1.8.0_131]
        at java.util.Timer.schedule(Timer.java:208)[:1.8.0_131]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.schedule(RetransmissionQueueImpl.java:651)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.<init>(RetransmissionQueueImpl.java:452)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.cacheUnacknowledged(RetransmissionQueueImpl.java:350)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.addUnacknowledged(RetransmissionQueueImpl.java:134)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.ws.rm.RMCaptureOutInterceptor$CaptureEnd.handleMessage(RMCaptureOutInterceptor.java:277)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)[33:org.apache.cxf.cxf-core:3.1.7]
        at 
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)[39:org.apache.cxf.cxf-rt-frontend-simple:3.1.7]
        at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)[38:org.apache.cxf.cxf-rt-frontend-jaxws:3.1.7]
        at com.sun.proxy.$Proxy89.greetMe(Unknown Source)
        at 
org.apifocal.demo.wsrm.itests.GreeterClientTest.testCall(GreeterClientTest.java:95)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runLeafWithRetry(ContainerTestRunner.java:97)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChildWithRetry(ContainerTestRunner.java:84)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:75)
        at 
org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:44)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
        at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:124)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:97)
        at 
org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:83)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)[:1.8.0_131]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
        at 
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)[:1.8.0_131]
        at sun.rmi.transport.Transport$1.run(Transport.java:200)[:1.8.0_131]
        at sun.rmi.transport.Transport$1.run(Transport.java:197)[:1.8.0_131]
        at java.security.AccessController.doPrivileged(Native 
Method)[:1.8.0_131]
        at 
sun.rmi.transport.Transport.serviceCall(Transport.java:196)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)[:1.8.0_131]
        at java.security.AccessController.doPrivileged(Native 
Method)[:1.8.0_131]
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
{panel}

This is configured all the way back to the client. Depending on the ws-rm 
configuration one can experience different behaviors. With a simple ws-rm 
configuration there is a workaround by ignoring the error in the app and 
re-sending the request, but that's defeating the purpose.


> WS-RM: ISE excpetion after server reconnect
> -------------------------------------------
>
>                 Key: CXF-7391
>                 URL: https://issues.apache.org/jira/browse/CXF-7391
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 3.1.7, 3.1.10
>            Reporter: Hadrian Zbarcea
>             Fix For: 3.2.0, 3.1.12
>
>
> This is for a regular WS-RM scenario, traffic takes place normally, and then 
> the server disconnects. After the server restart, the client continues to 
> send messages using the known sequence id, but the first message gets 
> rejected (rightfully so) with the following stack:
> {code:Title=Karaf logs}
> 2017-06-02 22:56:53,517 | INFO  | ion(3)-127.0.0.1 | GreeterService           
>         | 93 - org.apifocal.demo.wsrm.greeter-service - 1.0.0.SNAPSHOT | 
> Greeter service starting...
> 2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
>  org.apache.cxf.bus.ManagedBus@2688afbd
> 2017-06-02 22:56:53,522 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851:
>  javax.management.modelmbean.RequiredModelMBean@10a214ea
> 2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registered 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus,instance.id=189207851
> 2017-06-02 22:56:53,523 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
>  org.apache.cxf.ws.rm.ManagedRMManager@1f0684f2
> 2017-06-02 22:56:53,525 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=WSRM.Manager,instance.id=752558607:
>  javax.management.modelmbean.RequiredModelMBean@7c9035e8
> 2017-06-02 22:56:53,526 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
>  org.apache.cxf.bus.managers.WorkQueueManagerImplMBeanWrapper@92bf503
> 2017-06-02 22:56:53,527 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,WorkQueueManager=Bus.WorkQueueManager,type=WorkQueueManager,instance.id=2081782740:
>  javax.management.modelmbean.RequiredModelMBean@2221c1c0
> 2017-06-02 22:56:53,530 | INFO  | ion(3)-127.0.0.1 | 
> ReflectionServiceFactoryBean     | 46 - org.apache.cxf.cxf-rt-wsdl - 3.1.7 | 
> Creating Service {http://demo.apifocal.org/greeter/wsrm}GreeterService from 
> WSDL: META-INF/wsdl/org/apifocal/demo/greeter/wsrm/greeter.wsdl
> 2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | ServerImpl               
>         | 33 - org.apache.cxf.cxf-core - 3.1.7 | Setting the server's publish 
> address to be /greeter-wsrm
> 2017-06-02 22:56:53,557 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
>  org.apache.cxf.endpoint.ManagedEndpoint@b7bb49d
> 2017-06-02 22:56:53,558 | INFO  | ion(3)-127.0.0.1 | 
> InstrumentationManagerImpl       | 40 - org.apache.cxf.cxf-rt-management - 
> 3.1.7 | registering MBean 
> org.apache.cxf:bus.id=org.apifocal.demo.wsrm.greeter-wsrm-cxf189207851,type=Bus.Service.Endpoint,service="{http://demo.apifocal.org/greeter/wsrm}GreeterService",port="GreeterPort",instance.id=953867382:
>  javax.management.modelmbean.RequiredModelMBean@201cfe0
> 2017-06-02 22:56:55,563 | INFO  | ion(3)-127.0.0.1 | RMCaptureOutInterceptor  
>         | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Captured message 4 in 
> sequence urn:uuid:e4cc49cd-0da2-4f23-acbf-a2896305cfda
> 2017-06-02 22:56:55,564 | WARN  | ion(3)-127.0.0.1 | RetransmissionQueueImpl  
>         | 45 - org.apache.cxf.cxf-rt-ws-rm - 3.1.7 | Scheduling of WS-RM 
> retransmission failed.
> java.lang.IllegalStateException: Timer already cancelled.
>       at java.util.Timer.sched(Timer.java:397)[:1.8.0_131]
>       at java.util.Timer.schedule(Timer.java:208)[:1.8.0_131]
>       at 
> org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.schedule(RetransmissionQueueImpl.java:651)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
>       at 
> org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl$ResendCandidate.<init>(RetransmissionQueueImpl.java:452)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
>       at 
> org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.cacheUnacknowledged(RetransmissionQueueImpl.java:350)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
>       at 
> org.apache.cxf.ws.rm.soap.RetransmissionQueueImpl.addUnacknowledged(RetransmissionQueueImpl.java:134)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
>       at 
> org.apache.cxf.ws.rm.RMCaptureOutInterceptor$CaptureEnd.handleMessage(RMCaptureOutInterceptor.java:277)[45:org.apache.cxf.cxf-rt-ws-rm:3.1.7]
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[33:org.apache.cxf.cxf-core:3.1.7]
>       at 
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)[33:org.apache.cxf.cxf-core:3.1.7]
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423)[33:org.apache.cxf.cxf-core:3.1.7]
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324)[33:org.apache.cxf.cxf-core:3.1.7]
>       at 
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277)[33:org.apache.cxf.cxf-core:3.1.7]
>       at 
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)[39:org.apache.cxf.cxf-rt-frontend-simple:3.1.7]
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139)[38:org.apache.cxf.cxf-rt-frontend-jaxws:3.1.7]
>       at com.sun.proxy.$Proxy89.greetMe(Unknown Source)
>       at 
> org.apifocal.demo.wsrm.itests.GreeterClientTest.testCall(GreeterClientTest.java:95)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.8.0_131]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
>       at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runLeafWithRetry(ContainerTestRunner.java:97)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChildWithRetry(ContainerTestRunner.java:84)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:75)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.ContainerTestRunner.runChild(ContainerTestRunner.java:44)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.invokeViaJUnit(JUnitProbeInvoker.java:124)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.findAndInvoke(JUnitProbeInvoker.java:97)
>       at 
> org.ops4j.pax.exam.invoker.junit.internal.JUnitProbeInvoker.call(JUnitProbeInvoker.java:73)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.8.0_131]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
>       at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
>       at 
> org.ops4j.pax.exam.rbc.internal.RemoteBundleContextImpl.remoteCall(RemoteBundleContextImpl.java:83)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)[:1.8.0_131]
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_131]
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_131]
>       at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_131]
>       at 
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)[:1.8.0_131]
>       at sun.rmi.transport.Transport$1.run(Transport.java:200)[:1.8.0_131]
>       at sun.rmi.transport.Transport$1.run(Transport.java:197)[:1.8.0_131]
>       at java.security.AccessController.doPrivileged(Native 
> Method)[:1.8.0_131]
>       at 
> sun.rmi.transport.Transport.serviceCall(Transport.java:196)[:1.8.0_131]
>       at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)[:1.8.0_131]
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)[:1.8.0_131]
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)[:1.8.0_131]
>       at java.security.AccessController.doPrivileged(Native 
> Method)[:1.8.0_131]
>       at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)[:1.8.0_131]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
>       at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
> {code}
> This is configured all the way back to the client. Depending on the ws-rm 
> configuration one can experience different behaviors. With a simple ws-rm 
> configuration there is a workaround by ignoring the error in the app and 
> re-sending the request, but that's defeating the purpose.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to