On Mar 14, 2014, at 9:01 AM, Karnam, Jayashankar <jayashankar.kar...@in.pega.com> wrote:
> Is CXF trying to cache the Authorization objects somewhere? I have been > trying NTLM authentication with CXF, it works fine for the first invocation > if I provide wrong credentials, throws a 401 but the scenario changes after a > successful invoke. No matter how many times I change the user name or > password or even switch the authentication scheme specified to Basic, it > doesn't work. Normally for NTLM, we just delegate down into the HTTPUrlConnection in the JDK which handles this. I’m not sure if there is a way in the HttpUrlConnection to get it to re-negotiate an NTLM connection. You could try using the HTTPAsyncClient based transport where the NTLM stuff is handled by the Apache HTTP components. I think it’s handled very different. > > And the number of retries that CXF using is high, I believe it's sending more > than 10 requests when I observed in TCPMon. What version of CXF? This should have been fixed. Dan > > The service im using is plain NTLM protected. > The code I'm using on the client side is > > conduit.getAuthorization().setAuthorizationType(NTLM); > > conduit.getAuthorization().setUserName(authDomain+"\\"+authUserName); > > conduit.getAuthorization().setPassword(authPassword); > } > HTTPClientPolicy httpClientPolicy = new > HTTPClientPolicy(); > httpClientPolicy.setConnectionTimeout(36000); > httpClientPolicy.setAllowChunking(false); > conduit.setClient(httpClientPolicy); > httpClientPolicy = null; > > Thanks, > Jay > -- Daniel Kulp dk...@apache.org - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com