Details
Description
When invoking several different web services asynchronously a NullPointerException is raised. The web services were invoked firstly in parallel later sequentially. The issue occurs more frequently when the web services are executed in parallel.
Apparently the issue is at ClientImpl line 715 in version 2.4.4. I've debugged the issue and in some executions bus is null on method onMessage:
public void onMessage(Message message) {
Endpoint endpoint = message.getExchange().getEndpoint();
if (endpoint == null)
message = endpoint.getBinding().createMessage(message);
message.getExchange().setInMessage(message);
message.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
message.put(Message.INBOUND_MESSAGE, Boolean.TRUE);
===> PhaseManager pm = bus.getExtension(PhaseManager.class);
This is the exception raised:
GRAVE: ExecutionException
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at org.apache.cxf.endpoint.ClientCallback.get(ClientCallback.java:147)
at org.apache.cxf.jaxws.JaxwsResponseCallback.get(JaxwsResponseCallback.java:49)
at org.ensure.configLayer.planningLayer.services.PreservationPlanOptimizer.PreservationPlanOptimizer.invokeAnalysisModules(PreservationPlanOptimizer.java:382)
at org.ensure.configLayer.planningLayer.services.PreservationPlanOptimizer.PreservationPlanOptimizer.getOptimizedGlobalPreservationPlans(PreservationPlanOptimizer.java:166)
at org.ensure.configLayer.test.planningLayer.PreservationPlanOptimizer.tester.Tester.main(Tester.java:37)
Caused by: java.lang.NullPointerException
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:715)
at org.apache.cxf.endpoint.ClientImpl$1.onMessage(ClientImpl.java:890)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1626)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1498)
at java.lang.Thread.run(Unknown Source)
Kind regards,
Jorge.