Authentication of webservices
<p>I need to authenticate with a webservice so I tried the <a href="http://inchoo.net/mobile-development/android-development/rest-api-with-http-authentication-android-beanstalk-example/" rel="nofollow">Example from here</a>. I passed all the parameters and credentials which are required but I received a failure when I printed the response. I have tested the username and password in my browser and that's working fine but I cant understand what's happening here :</p>

<p>My webservice is developed in ASP.NET</p>

<p>logcate :: (Responce) </p>

<pre><code>04-19 02:10:14.063: WARN/etAuthenticationHandler(1613): Authentication scheme ntlm not supported
04-19 02:10:14.070: WARN/DefaultRequestDirector(1613): Authentication error: Unable to respond to any of these challenges: {ntlm=WWW-Authenticate: NTLM, negotiate=WWW-Authenticate: Negotiate}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): OK: &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;head&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;title&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/title&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;style type="text/css"&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;!--
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): fieldset{padding:0 15px 10px 15px;} 
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): h1{font-size:2.4em;margin:0;color:#FFF;}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): h2{font-size:1.7em;margin:0;color:#CC0000;} 
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): background-color:#555555;}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): #content{margin:0 0 0 2%;position:relative;}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): --&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;/style&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;/head&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;body&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;div id="header"&gt;&lt;h1&gt;Server Error&lt;/h1&gt;&lt;/div&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;div id="content"&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613):  &lt;div class="content-container"&gt;&lt;fieldset&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613):   &lt;h2&gt;401 - Unauthorized: Access is denied due to invalid credentials.&lt;/h2&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613):   &lt;h3&gt;You do not have permission to view this directory or page using the credentials that you supplied.&lt;/h3&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613):  &lt;/fieldset&gt;&lt;/div&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;/div&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;/body&gt;
04-19 02:10:14.080: DEBUG/MY_APP_TAG(1613): &lt;/html&gt;
</code></pre>

<p><strong>Code:</strong></p>

<pre><code>String username = "uname";
        String host = "host";
        String password = "pass";

        String urlApiCall_FindAllRepositories = 
                 "http://host:2003/VoyagerWebservice7.0.1/webservices.asmx/Naptan_GetStops_ForVoyager_FromSearch_Custom?SerachText=Easton";

        try {
            HttpClient client = new DefaultHttpClient();

            AuthScope as = new AuthScope(host, 2003);
            UsernamePasswordCredentials upc = new UsernamePasswordCredentials(
                    username, password);

            ((AbstractHttpClient) client).getCredentialsProvider()
                    .setCredentials(as, upc);

            BasicHttpContext localContext = new BasicHttpContext();

            BasicScheme basicAuth = new BasicScheme();
            localContext.setAttribute("preemptive-auth", basicAuth);

            HttpHost targetHost = new HttpHost(host, 2003, "http");

            HttpGet httpget = new HttpGet(urlApiCall_FindAllRepositories);
            httpget.setHeader("Content-Type", "text/xml");

            HttpResponse response = client.execute(targetHost, httpget,
                    localContext);

            HttpEntity entity = response.getEntity();
            Object content = EntityUtils.toString(entity);

            Log.d("MY_APP_TAG", "OK: " + content.toString());


        } catch (Exception e) {
            e.printStackTrace();
            Log.d("MY_APP_TAG", "Error: " + e.getMessage());
        }
</code></pre>
