You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by DJP JEAN-PROST Dominique <Do...@dexia-sofaxis.com> on 2009/12/21 12:08:54 UTC

No CredentialProviders problem in axis2 and httpclient

Hello,

[ENV]
AXIS2 1.5.1
Commons-httpclient 3.1
[/ENV]

I’m meeting a problem I really can’t resolve and after reading many lines of code in axis2, here where I am :
- I’m trying to call a ms exchange 2007 WS
- I setup I think my authentication code using this kind of code :

	   final Options options = this.serviceExchange._getServiceClient().getOptions();
         final Authenticator authenticator = new Authenticator();
 
         // Cf. http://ws.apache.org/axis2/1_5_1/http-transport.html#preemptive_auth
         final List<String> authScheme = new ArrayList<String>();
         authScheme.add(Authenticator.NTLM);
         authScheme.add(Authenticator.BASIC);
 
         authenticator.setAuthSchemes(authScheme);
         authenticator.setUsername(this.username);
         authenticator.setPassword(this.password);
         authenticator.setHost(this.host);
         authenticator.setDomain(this.domain);
         authenticator.setPort(this.port);
 
         options.setTimeOutInMilliSeconds(this.timeout);
         options.setProperty(HTTPConstants.CHUNKED, "false");
         options.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, "true");
         options.setProperty(HTTPConstants.AUTHENTICATE, authenticator);
 
         this.serviceExchange._getServiceClient().setOptions(options);

I then get the following execution logs where you can see that there is no credential providers found.
So I searched the net, and found this http://markmail.org/search/list:org%2Eapache%2Ews%2Eaxis-dev+CredentialsProvider where you can see that the credential providers was first added and the deleted in org/apache/axis2/transport/http/AbstractHTTPSender.java


My question is then quite simple : how can I make this work ? Is it right that CredentialsProvider was deleted from AbstractHTTPSender ? If so, what should I add in my authentication setup to make it work ?
Regards,
dom




HttpMethodDirector.java:843)     - Authorization required
2009-12-21 12:01:11,447 DEBUG org.apache.commons.httpclient.HttpMethodDirector (       HttpMethodDirector.java:662)     - enter HttpMethodBase.processAuthenticationResponse(HttpState, HttpConnection)
2009-12-21 12:01:11,447 DEBUG org.apache.commons.httpclient.auth.AuthChallengeProcessor (   AuthChallengeProcessor.java:90)     - Supported authentication schemes in the order of preference: [NTLM, Basic]
2009-12-21 12:01:11,447 INFO  org.apache.commons.httpclient.auth.AuthChallengeProcessor (   AuthChallengeProcessor.java:101)     - NTLM authentication scheme selected
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.auth.AuthChallengeProcessor (   AuthChallengeProcessor.java:155)     - Using authentication scheme: ntlm
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.auth.AuthChallengeProcessor (   AuthChallengeProcessor.java:163)     - Authorization challenge processed
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.HttpMethodDirector (       HttpMethodDirector.java:714)     - Authentication scope: NTLM <any realm>@mercure:443
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.HttpState (                HttpState.java:436)     - enter HttpState.getCredentials(AuthScope)
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.HttpMethodDirector (       HttpMethodDirector.java:861)     - Credentials required
2009-12-21 12:01:11,463 DEBUG org.apache.commons.httpclient.HttpMethodDirector (       HttpMethodDirector.java:879)     - Credentials provider not available
2009-12-21 12:01:11,463 INFO  org.apache.commons.httpclient.HttpMethodDirector (       HttpMethodDirector.java:737)     - No credentials available for NTLM <any realm>@mercure:443
2009-12-21 12:01:11,463 DEBUG org.apache.axis2.transport.http.HTTPSender (               HTTPSender.java:278)     - Handling response - 401
Consultez nos nouveaux sites internet : 
http://www.dexia-sofaxis.com 
http://www.dexia-sofcap-sofcah.com

Tous ensemble pour l’environnement : n’imprimer ce courriel que si nécessaire.

Dexia Sofaxis disclaimer : http://www.dexia-sofaxis.com/disclaimer.html