cxf客户端授权问题

时间:2011-01-05 13:21:24

标签: java cxf jax-rs digest digest-authentication

我使用JAXRSClientFactory.create方法创建这样的代理:

IMyService myService 
 = JAXRSClientFactory.create("http://myserviceurl/", IMyService.class, "login1", "pwd", null);

这个代码工作正常。

之后,我需要将此服务与其他凭据一起使用,并尝试使用其他凭据创建相同的服务:

IMyService myNewService 
 = JAXRSClientFactory.create("http://myserviceurl/", IMyService.class, "login2", "pwd", null);

此代码有效,但使用错误的凭据(使用来自第一个服务的凭据)。我没有找到任何方法来改变它(重置,或清除,或类似的东西)。

还有一个细节,这个问题只有摘要授权。基础很好。

有人可以帮我解决这个问题。

感谢。

2 个答案:

答案 0 :(得分:0)

digest auth如何使用JAXRSClientFactory.create? 根据API的描述,该方法用于获得具有基本认证的客户端。

答案 1 :(得分:0)

也许这样的事情应该有效:

Endpoint endpoint = WebClient.getConfig(client).getEndpoint();
AuthorizationPolicy policy = endpoint.getEndpointInfo().getExtensor(AuthorizationPolicy.class)
policy.setUserName("login2");