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:
(sudo) docker run -p8080:8080 flowable/flowable-rest
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:
(sudo) docker run -p8080:8080 flowable/flowable-rest
Upload file(s) attached below
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'
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.