2011-08-08 47 views
3

我的應用通過SSL查詢其他Web服務。我已經使用Apache HttpClient在我的服務器上爲其他Web服務創建https POST調用。當我部署我的應用程序到App Engine我得到了以下錯誤:如何在App Engine上進行HTTPS調用

java.lang.NoClassDefFoundError: javax.net.ssl.KeyManagerFactory is a restricted class. 
Please see the Google App Engine developer's guide for more details. 

我的問題是,怎樣才能讓我上的HTTPS谷歌應用程序引擎調用?

回答

4

App Engine不支持Apache HttpClient out-of-the-box。你將不得不編寫一個自定義的ConnectionManager來包裝UrlFetchThis post解釋得很好,併爲您提供示例代碼。我以前在App Engine上成功使用過該代碼。

1

您可以使用URL類在app-engine上進行HTTPS連接。

事情是這樣的 -

URL url = new URL(yourHttpsURL); 
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
StringBuilder responseBody = new StringBuilder(); 
String line; 

while ((line = reader.readLine()) != null) 
    responseBody.append(line); 

reader.close(); 

app引擎還支持使用類FetchOptions類的低級API主機驗證。

相關問題