2012-04-16 7 views
0

AndroidでhttpsでRESTful WCFサービスを呼び出そうとしています。私は401を取得し続けます:私が電話をかけるときは、不正なエラーです。私のコード作業の他の部分は、ローカルでテストしました。ここ資格情報付きのhttpsでアンドロイドからWCFを呼び出す

は、当該コードである:

// http scheme 
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); 
// https scheme 
schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443)); 

credentialsProvider = new BasicCredentialsProvider(); 
credentialsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), 
      new UsernamePasswordCredentials("user", "pass")); 
clientConnectionManager = new ThreadSafeClientConnManager(params, schemeRegistry); 

context = new BasicHttpContext(); 
context.setAttribute("http.auth.credentials-provider", credentialsProvider); 

HttpGet request = new HttpGet(SERVICE_URI + URL1 + EID); 
request.setHeader("Accept", "application/json"); 
request.setHeader("Content-type", "application/json"); 

DefaultHttpClient client = new DefaultHttpClient(clientConnectionManager, params); 
client.setCredentialsProvider(credentialsProvider); 
HttpResponse response = client.execute(request, context); 

HttpEntity responseEntity = response.getEntity(); 

EasySSLSocketFactoryはのX509TrustManagerの実装を使用します。私はコードも同様に動作することを知っています。誰かが助言をお願いしますか?私が見つけたものは何も正しく動作しません。

答えて

0

HttpClientはNTLM認証をサポートしていません(Windows認証のIISを使用しています)。このリンクは私に必要なものすべてを与えました。ちょうどコピーして貼り付け、それについて忘れてください。

http://hc.apache.org/httpcomponents-client-ga/ntlm.html

関連する問題