我正在使用一个使用Axis2 1.6.1的Web服务客户端。我需要为服务器提供基本或摘要式身份验证的凭据。我正在使用Axis2类,而不是直接使用HttpClient。我在网上搜索并阅读了一些Axis2源代码,但我还没弄清楚如何提供凭据。任何人都可以简单解释一下或提供合适的链接吗?
我认为凭据与Apache HttpClient中的HttpClient类相关联。我想如果我可以检索对Axis2使用的HttpClient对象的引用,我可以调用HttpClient方法来分配凭据。也许有人知道该怎么做?
提前感谢你能解决这个问题。
答案 0 :(得分: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 来传递您刚刚创建的选项。