【问题标题】:how to supply credentials for Basic or Digest authentication in Apache HttpClient + Axis2如何在 Apache HttpClient + Axis2 中为 Basic 或 Digest 身份验证提供凭据
【发布时间】:2013-07-25 02:51:52
【问题描述】:

我正在使用一个使用 Axis2 1.6.1 的 Web 服务客户端。我需要向服务器提供基本或摘要身份验证的凭据。我正在使用 Axis2 类,而不是直接使用 HttpClient。我已经在网上搜索并阅读了一些 Axis2 源代码,但我还没有弄清楚如何提供凭据。谁能简要解释一下或给出合适的链接?

我收集到凭据与 Apache HttpClient 中的 HttpClient 类相关联。我想如果我可以检索到 Axis2 使用的 HttpClient 对象的引用,我可以调用 HttpClient 方法来分配凭据。也许有人知道该怎么做?

提前感谢您对这个问题的任何启发。

【问题讨论】:

    标签: authentication httpclient axis2 credentials


    【解决方案1】:

    首先创建HttpTransportProperties.Authenticator类的实例并设置用户名和密码。

    HttpTransportProperties.Authenticator
       auth = new HttpTransportProperties.Authenticator();
    auth.setUsername("username");
    auth.setPassword("password");
    

    如果您出于安全原因想要限制身份验证的范围,此时您可能还需要设置主机、端口和领域。

    接下来创建Options 类的实例并使用您的身份验证器设置HTTPConstants.AUTHENTICATE 属性。

    Options options = new Options();
    options.setProperty(HTTPConstants.AUTHENTICATE, auth);
    

    您通常还可以在此处设置 EndpointReference 和您需要的任何其他选项。

    最后你可以创建你的ServiceClient对象并调用setOptions来传递你刚刚创建的选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2018-11-28
      • 2020-07-22
      • 2021-11-29
      • 2019-04-26
      相关资源
      最近更新 更多