flowable / flowable-engine

A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.
https://www.flowable.org
Apache License 2.0
7.59k stars 2.54k forks source link

Flowable-rest docker 7.0.0 cannot perform HTTP Tasks #3875

Closed CElbersen closed 3 weeks ago

CElbersen commented 2 months ago

Describe the bug The Flowable 7.0.0 and 7.0.1 images on dockerhub cannot perform the HTTP (service) Tasks. Tested with two simple models created in the cloud modeler the models cannot run succesfully when a process contains a (simple) HTTP call. The log outputs this error: Exception in thread "httpclient-dispatch-1" java.lang.NoClassDefFoundError: org/apache/hc/core5/http2/impl/nio/ClientHttpProtocolNegotiator at org.apache.hc.client5.http.impl.async.HttpAsyncClientEventHandlerFactory.createHandler(HttpAsyncClientEventHandlerFactory.java:257) at org.apache.hc.core5.reactor.InternalConnectChannel.onIOEvent(InternalConnectChannel.java:77) at org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51) at org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:178) at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:127) at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:86) at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.ClassNotFoundException: org.apache.hc.core5.http2.impl.nio.ClientHttpProtocolNegotiator at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 8 more

The 6.7.2 and 6.8.0 tags of this docker image run succesful without any errors in the console log.

Expected behavior Processes can perform HTTP calls in the Flowable-rest docker-images. Both sync and async.

Code Reproducable:

  1. (sudo) docker run -p8080:8080 flowable/flowable-rest

  2. Upload file(s) attached below

  3. Run them: Sync: curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic cmVzdC1hZG1pbjp0ZXN0' -d '{ \ "processDefinitionKey": "ce_callsync" \ }' 'http://localhost:8080/flowable-rest/service/runtime/process-instances' Async: curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Basic cmVzdC1hZG1pbjp0ZXN0' -d '{ \ "processDefinitionKey": "ce_callhttp" \ }' 'http://localhost:8080/flowable-rest/service/runtime/process-instances'

  4. Check logs.

BPMN files used (calling the engine properties on localhost) ce_callsync.bpmn.txt ce_callhttp.bpmn.txt

Additional context The same steps DO work for 6.7.2 and 6.8.0.

PauloDeJesus-JT commented 4 weeks ago

Did you manage to find a fix for this issue. I am having the same issue on version 7.0.1 but it works fine on 6.8.0.

filiphr commented 4 weeks ago

I believe that this will be fixed by #3902