首页 > 解决方案 > 在 Camunda 的 ExternalTask​​Client 中启用 HTTPS

问题描述

你好,camunda 用户,目前我正在开发一个项目,我正在使用来自 Camunda的外部任务客户端。

我问自己是否有可能让 ExternalTask​​Client 使用 Https ?

我看了看 Jar,找不到任何关于如何处理这个问题的提示。我看到代码阻止了通过 Apache 的 HttpClientBuilder 初始化其 HttpClient 的 RequestExecutor。

HttpClientBuilder httpClientBuilder = HttpClients.custom()
  .useSystemProperties()
  .addInterceptorLast(requestInterceptorHandler);
this.httpClient = httpClientBuilder.build();

我又看了一下拦截器和基本身份验证的文档,并认为我可以通过 CustomInterceptor 实现 Https。但是 CustomInterceptor 只是将附加信息添加到 http 标头。

之后我再次开始搜索,发现以下关于支持 HTTPS的问题。阅读评论,我看到了一个Pull Request,主要处理 Apache HttpClient 的自定义及其在 RequestExecutor 中的创建。公关从未合并...

长话短说,ExternalTask​​Client 是否支持 Https ?(即使有解决方法)

最好的问候托马斯

编辑: 我从 ExternalTask​​ClientBuilderImpl 扩展了我的名为 SSLExternaTaskClientWrapper 的类,覆盖了 initEngineClient() 方法,并为从 RequestExecutor 扩展的 RequestExecutor 实例化了一个包装器,并覆盖了 Apache HttpClient 的初始化。就像这个线程中的“mnowrot”所说的那样。我没有调用 ExternalTask​​Client.create() 来创建新的 ExternalTask​​Client,而是实例化了我的 SSLExternalTask​​ClientWrapper。

优点:

缺点:

总结一下,我不得不说,在它可以通过 Https 执行请求之前,我在某些生产环境中看不到外部任务客户端。好像我必须自己去取和拉。

我的问题仍然存在:)

标签: javasslhttpscamunda

解决方案


推荐阅读