On 03/22/2012 11:04 AM, David Mansfield wrote:
Hi All,

I'm encountering a problem that is nearly identical to this issue in jira:

https://issues.apache.org/jira/browse/CXF-3122

which is pretty well described in the subject and in the bug report, which is marked closed. This issue is apparently from late 2010, version 2.2 or 2.3 timeframe.


Never a good plan to reply to yourself, but I think I know what was causing this. I was wrapping the ExecutionException that I got from the Future.get in another exception (a RuntimeException) and re-throwing. So the specific semantics seem to be:

- async handler is called twice in the case of a bad response when the first call results in a RuntimeException being thrown by the handleResponse method.

After cleaning this up in my code, the framework is no longer calling it twice.

It still could be considered a framework issue, but not a big deal I guess.

I'm running a client-only on cxf 2.5.2, generated from wsdl, configured using spring, on jdk 1.6.

My stack traces are different from what is there.

First is:

at com.cobite.exprts.sea.service.lifecycle.ModifyEntitlementsLifecycleHandler$1AsyncHandler.handleResponse(ModifyEntitlementsLifecycleHandler.java:35) at org.apache.cxf.jaxws.JaxwsClientCallback.handleException(JaxwsClientCallback.java:85)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:822)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1627) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1499) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:395) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)


Second is:

at com.cobite.exprts.sea.service.lifecycle.ModifyEntitlementsLifecycleHandler$1AsyncHandler.handleResponse(ModifyEntitlementsLifecycleHandler.java:35) at org.apache.cxf.jaxws.JaxwsClientCallback.handleException(JaxwsClientCallback.java:85) at org.apache.cxf.interceptor.ClientOutFaultObserver.onMessage(ClientOutFaultObserver.java:59) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1504) at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:395) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)


Should I reopen that bug, open a new one , or this is expected behavior now?

Thanks,
David Mansfield
Cobite, INC.


Reply via email to