2

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

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

提前感谢您对这个问题的任何了解。

4

1 回答 1

0

首先创建一个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以传入您刚刚创建的选项。

于 2013-08-04T23:11:11.117 回答