Why preemptive authentication required ?
System.setProperty("httpclient.authentication.preemptive", "true");
I had written web services access client program in java. Where we were setting username and password in call object and that was working perfectly.
Recently, our service provider made some changes at their side and after that they were not receiving username & password in web service call and as they were not receiving username & passwod so we were not able to connect to their (provider) service.
Then i did googling and found about preemptive authentication. While calling web services we set "httpclient.authentication.preemptive" as "true" - System.setProperty("httpclient.authentication.preemptive", "true"); , then we are able to receive responses from our service provider.
When we remove System.setProperty("httpclient.authentication.preemptive", "true"); line then we are not able to connect to their services.