RAMSession Exception - Credentials cannot be supplied for NTLM Authentication
I'm trying to create a RAM Session object from a Java client program using the following code:
RAMSession mySession = new RAMSession(https://server.com/ram.ws, "MyUserName", "MyPassword");
and I'm getting the following exception:
- Credentials cannot be used for NTLM authentication: org.apache.commons.httpclient.UsernamePasswordCredentials
org.apache.commons.httpclient.auth.InvalidCredentialsException: Credentials cannot be used for NTLM authentication: org.apache.commons.httpclient.UsernamePasswordCredentials
at org.apache.commons.httpclient.auth.NTLMScheme.authenticate(NTLMScheme.java:331)
at org.apache.commons.httpclient.HttpMethodDirector.authenticateHost(HttpMethodDirector.java:281)
at org.apache.commons.httpclient.HttpMethodDirector.authenticate(HttpMethodDirector.java:233)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:169)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at com.ibm.ram.internal.client.RAMClient$4.executeMethod(RAMClient.java:1332)
at com.ibm.ram.internal.client.RAMClient.getRepositoryInformation(RAMClient.java:110)
at com.ibm.ram.internal.client.RAMClient.initialize(RAMClient.java:259)
at com.ibm.ram.client.RAMSession.createClient(RAMSession.java:344)
at com.ibm.ram.client.RAMSession.<init>(RAMSession.java:309)
at com.ibm.ram.client.RAMSession.<init>(RAMSession.java:282)
at RAMTest.main(RAMTest.java:10)
I can type the URL https://server.com/ram.ws into a browser and get to the my RAM home page and can log in with the credentials "MyUserName" and "MyPassword". If I don't supply the username and password, the RAMSession object gets created, but no results are returned when I call functions to get all of the communities associated with the repository, even though it contains multiple communities.
One answer
RAM doesn't support NTLM authentication on the client side. The client doesn't handle the necessary handshaking for NTLM.
There is an enhancement for this, but there is no planned date for it.
Look into support for NTLM authentication on Eclipse client side (40606)
There is an enhancement for this, but there is no planned date for it.
Look into support for NTLM authentication on Eclipse client side (40606)