Uploaded image for project: 'JBoss BPMS Platform'
  1. JBoss BPMS Platform
  2. RHBPMS-5254

[GSS](6.4.z) Cannot configure CXF Client connectionTimeout/receiveTimeout for WebServiceWorkItemHandler in kie-server

XMLWordPrintable

    • CR1
    • Hide
      • Start BPMS 6.4.11
      • Deploy attached jboss-helloworld-ws.war to BPMS 6.4.11
      • Unzip and Import attached WSTestRepo.zip
      • Build&Deploy "WebServiceTestPropject" project
      • Deploy the project to kie-server
      • Start a process "TestProcess" in kie-server (not business-central). Attached jBPM64Ex002_kie-server-client.zip for your convenience (run CreateContainerTest/StartProcessTest).
      • The process calls WebService jboss-helloworld-ws.war which sleeps 250sec. The process throws Read Timeout in 60sec.
      Show
      Start BPMS 6.4.11 Deploy attached jboss-helloworld-ws.war to BPMS 6.4.11 Unzip and Import attached WSTestRepo.zip Build&Deploy "WebServiceTestPropject" project Deploy the project to kie-server Start a process "TestProcess" in kie-server (not business-central). Attached jBPM64Ex002_kie-server-client.zip for your convenience (run CreateContainerTest/StartProcessTest). The process calls WebService jboss-helloworld-ws.war which sleeps 250sec. The process throws Read Timeout in 60sec.

      WebServiceWorkItemHandler doesn't have configuration for CXF Client connectionTimeout/receiveTimeout for kie-server. So it hits read timeout in 1 minutes by default.

      13:56:44,219 INFO  [stdout] (default task-62) Thread.sleep begins...
      ...
      13:57:44,319 ERROR [org.kie.server.remote.rest.jbpm.ProcessResource] (default task-60) Unexpected error during processing [WebServiceTestPropject.TestProcess:1 - WS:2] -- org.apache.cxf.interceptor.Fault: Could not send Message.: org.jbpm.workflow.instance.WorkflowRuntimeException: [WebServiceTestPropject.TestProcess:1 - WS:2] -- org.apache.cxf.interceptor.Fault: Could not send Message.
      	at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:149)
      	at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173)
      	at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:366)
      	at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:325)
      	at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:73)
      	at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:44)
      	at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173)
      	at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:35)
      	at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:236)
      	at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:450)
      	at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:206)
      	at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:190)
      	at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:182)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1908)
      	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.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
      	at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
      	at org.drools.persistence.SingleSessionCommandService$TransactionInterceptor.execute(SingleSessionCommandService.java:604)
      	at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
      	at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:82)
      	at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41)
      	at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:73)
      	at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:397)
      	at org.drools.core.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:256)
      	at org.jbpm.kie.services.impl.ProcessServiceImpl.startProcess(ProcessServiceImpl.java:105)
      	at org.kie.server.services.jbpm.ProcessServiceBase.startProcess(ProcessServiceBase.java:86)
      	at org.kie.server.remote.rest.jbpm.ProcessResource.startProcess(ProcessResource.java:93)
      	...
      Caused by: org.jbpm.bpmn2.handler.WorkItemHandlerRuntimeException: org.apache.cxf.interceptor.Fault: Could not send Message.
      	at org.jbpm.process.workitem.AbstractLogOrThrowWorkItemHandler.handleException(AbstractLogOrThrowWorkItemHandler.java:55)
      	at org.jbpm.process.workitem.AbstractLogOrThrowWorkItemHandler.handleException(AbstractLogOrThrowWorkItemHandler.java:38)
      	at org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler.executeWorkItem(WebServiceWorkItemHandler.java:185)
      	at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:69)
      	at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:139)
      	... 71 more
      Caused by: org.apache.cxf.interceptor.Fault: Could not send Message.
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
      	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)
      	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:341)
      	at org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler.executeWorkItem(WebServiceWorkItemHandler.java:116)
      	... 73 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:1346)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	... 81 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.getResponseCode(URLConnectionHTTPConduit.java:266)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1550)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1579)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)
      	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1317)
      	... 84 more
      ...
      14:00:54,220 INFO  [stdout] (default task-62) Thread.sleep completed...
      

      These properties were effective in business-central as process engine.

      <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

        1. jboss-helloworld-ws.war
          9 kB
          Toshiya Kobayashi

              elguardian@gmail.com Enrique González Martínez (Inactive)
              rhn-support-tkobayas Toshiya Kobayashi
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: