-
Bug
-
Resolution: Done
-
Major
-
7.3.0.GA
WebServiceWorkItemHandler doesn't have configuration for CXF Client connectionTimeout/receiveTimeout. So it hits read timeout in 1 minutes by default.
11:55:21,205 INFO [stdout] (default task-7) Thread.sleep begins... ... 11:56:21,237 ERROR [org.kie.server.remote.rest.jbpm.ProcessResource] (default task-6) Unexpected error during processing [WebServiceTestPropject.TestProcess:1 - WS:2] -- org.apache.cxf.interceptor.Fault: Could not receive Message.: org.jbpm.workflow.instance.WorkflowRuntimeException: [WebServiceTestPropject.TestProcess:1 - WS:2] -- org.apache.cxf.interceptor.Fault: Could not receive Message. at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:162) at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:197) at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:397) at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:383) at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:352) at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:72) at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:43) at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:197) at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:38) at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:233) at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:480) at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:210) at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:193) at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:185) at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1866) at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:122) at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:40) at org.drools.core.fluent.impl.PseudoClockRunner.executeBatch(PseudoClockRunner.java:102) at org.drools.core.fluent.impl.PseudoClockRunner.executeBatches(PseudoClockRunner.java:69) at org.drools.core.fluent.impl.PseudoClockRunner.execute(PseudoClockRunner.java:61) at org.drools.core.fluent.impl.PseudoClockRunner.execute(PseudoClockRunner.java:39) at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:39) at org.drools.persistence.PersistableRunner$TransactionInterceptor.execute(PersistableRunner.java:597) at org.drools.persistence.PersistableRunner$TransactionInterceptor.execute(PersistableRunner.java:563) at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:39) at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.internalExecute(OptimisticLockRetryInterceptor.java:102) at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:83) at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:44) at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:39) at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:73) at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:45) at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:39) at org.jbpm.runtime.manager.impl.error.ExecutionErrorHandlerInterceptor.internalExecute(ExecutionErrorHandlerInterceptor.java:66) at org.jbpm.runtime.manager.impl.error.ExecutionErrorHandlerInterceptor.execute(ExecutionErrorHandlerInterceptor.java:52) at org.jbpm.runtime.manager.impl.error.ExecutionErrorHandlerInterceptor.execute(ExecutionErrorHandlerInterceptor.java:29) at org.drools.persistence.PersistableRunner.execute(PersistableRunner.java:398) at org.drools.persistence.PersistableRunner.execute(PersistableRunner.java:66) at org.drools.core.runtime.InternalLocalRunner.execute(InternalLocalRunner.java:37) at org.drools.core.runtime.InternalLocalRunner.execute(InternalLocalRunner.java:41) at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:264) at org.jbpm.kie.services.impl.ProcessServiceImpl.startProcess(ProcessServiceImpl.java:115) at org.kie.server.services.jbpm.ProcessServiceBase.startProcess(ProcessServiceBase.java:95) at org.kie.server.remote.rest.jbpm.ProcessResource.startProcess(ProcessResource.java:174) ... Caused by: org.jbpm.bpmn2.handler.WorkItemHandlerRuntimeException: org.apache.cxf.interceptor.Fault: Could not receive Message. at org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler.handleException(AbstractLogOrThrowWorkItemHandler.java:67) at org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler.handleException(AbstractLogOrThrowWorkItemHandler.java:43) at org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler.executeWorkItem(WebServiceWorkItemHandler.java:428) at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:69) at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:150) ... 113 more Caused by: org.apache.cxf.interceptor.Fault: Could not receive Message. at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:65) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:309) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:523) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:432) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:347) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:305) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:325) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:311) at org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler.executeWorkItem(WebServiceWorkItemHandler.java:342) ... 115 more Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:8080/helloworld-ws/HelloWorldService: Read timed out at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1395) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1379) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:663) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) ... 123 more Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:170) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:704) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1536) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream$2.run(URLConnectionHTTPConduit.java:379) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream$2.run(URLConnectionHTTPConduit.java:375) at java.security.AccessController.doPrivileged(Native Method) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:375) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1592) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1621) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1565) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1366) ... 126 more ... 11:59:31,206 INFO [stdout] (default task-7) Thread.sleep completed...
These properties were effective in business-central as process engine in BPM suite 6. (not effective in BPM suite 6 kie-server.war)
<property name="cxf.client.connectionTimeout" value="300000"/> <property name="cxf.client.receiveTimeout" value="300000"/>
It is because these properties were implemented for JBossWS-CXF integration. And kie-server.war uses its own CXF libraries.
https://docs.jboss.org/author/display/WFLY10/Apache+CXF+integration
- is cloned by
-
RHBPMS-5254 [GSS](6.4.z) Cannot configure CXF Client connectionTimeout/receiveTimeout for WebServiceWorkItemHandler in kie-server
- Verified