2016-09-19 8 views
1

GoogleのXamarinフォームプロジェクトからSalesforceの安らかなAPIを呼び出そうとしています。これらの呼び出しは、iOSアプリケーションに関しては正常に動作しますが、Androidでは失敗します。Xamarinフォーム - Salesforce - TLS 1.1またはTLS 1.2。 Android用のPOST API呼び出しのエラー

HttpClient authClient = new HttpClient(); 
message = await authClient.PostAsync("url", content); 
string responseString = await message.Content.ReadAsStringAsync(); 

Androidの "responseString"変数で、以下の応答が返されます。

<tr><td width="100%" height="100%"><div class="content"> 
<h1>**Stronger security is required**</h1><div class="simple"> 
<p>**To access this website, update your web browser or upgrade your operating system to support TLS 1.1 or TLS 1.2.**</p> 
<p>For more information, see 
<a href="https://help.salesforce.com/HTViewSolution?id=000221207&amp;language=en_US" target="_blank">Salesforce disabling TLS 1.0</a>. 
</p> 
</div></div></td></tr> 
</table></body> 
</html> 

iOS、Android、Win 10アプリケーションをサポートする必要があるソリューションを見つける必要があります。私たちはiOSをチェックし、うまくいきました。今Android用のチックをしていない。 Windowsの場合、私たちはチェックしていません。

助けてください。

答えて

0

私は個人的にこの問題にぶつかりませんでしたが、ModernHttpClientにショットを付けることができます。このライブラリをインストールすると、HttpClientNativeMessageHandlerを渡すことができます。これは、Android上のネイティブ実装を使用します。これにより、Xamarin Forms実装を使用してすぐに使用できないセキュリティ機能が追加されます。

可能な場合は、Xamarin Formsライブラリも最新のものに更新する必要があります。

あなたのコードになるでしょう(それがあるように私もusingを追加をお勧め):

using(HttpClient authClient = new HttpClient(new NativeMessageHandler())) { 
    message = await authClient.PostAsync("url", content); 
    string responseString = await message.Content.ReadAsStringAsync(); 
} 
関連する問題