【问题标题】:Does CXF 3.1.X uses Apache HttpComponents - HttpClient?CXF 3.1.X 是否使用 Apache HttpComponents - HttpClient?
【发布时间】:2017-06-26 19:43:38
【问题描述】:

CXF 3.1.x 真的使用Apache HttpComponents - HttpClient 进行http 传输吗? Maven 依赖项没有将“Apache HttpComponents”列为依赖项,我也没有在 CXF jar 中看到任何 HttpClient 类?然而CXF JIRA CXF-6704 讨论它?

我需要在 CXF 中访问 NTLM support per connection basis 中的 HttpClient,CXF by default relies 上的 Java 6+ Authenticator 是按 JVM 设置的。

【问题讨论】:

    标签: cxf apache-httpclient-4.x ntlm ntlmv2


    【解决方案1】:

    CXF 有一个解耦的运行时层。它们大多以 cxf-rt-* 开头。

    在传输的情况下,cxf-rt-transports-*。

    看看this。我相信这是 HTTP 组件传输运行时。

    编辑:我认为这是用于异步传输 - (在我发布后查看了 pom)。

    EDIT2:我对此进行了更多研究,发现this documentation。它表示通过将 use.async.http.conduit 总线属性设置为 true,可以将异步客户端用于同步调用。这也特指 NTLM 身份验证。

    【讨论】:

    • 啊!我看到 * -hc (httpclient)。知道如何访问 CXF 在幕后使用的“HttpClient”实例吗?
    • CXF 是否仅将 HttpClient 用于异步 Web 服务?
    • 我现在正在检查 - 我目前还不能 100% 确定运输机械。
    • 不幸的是,我带您进入了 CXF 运行时的一个非常复杂的领域。 HTTP 客户端功能作为管道提供。这是一种围绕特定肥皂端口的拦截器。也就是说,您可能不得不通过一些源代码:github.com/apache/cxf/blob/3.1.x-fixes/rt/transports/http-hc/…。至于获取实际的 HttpClient,它存储为 Conduit 实现上的一个属性,您 / 可能 / 能够从拦截器中访问它。
    • 我已经阅读了 CXF 异步和 NTLM 文档,不幸的是我的要求不是异步服务
    猜你喜欢
    • 2011-08-26
    • 2014-11-27
    • 2020-09-27
    • 1970-01-01
    • 2014-03-29
    • 2014-11-09
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    相关资源
    最近更新 更多