2013-07-06 131 views
4

我一直在玩Google Cloud Endpoints(Java),並且在部署到App Engine後無法獲取API(使用Eclipse + Google插件和Android Studio )。Google Cloud Endpoints - API不更新

我創建了一個基於名爲Process的類(使用JPA註釋)的Endpoint。它位於我的包中(比方說:com.example)。我第一次部署它時,我不小心導入了錯誤的類(java.lang.Process而不是我的com.example.Process)。所以,我得到這個錯誤,當我測試在API瀏覽器中的方法之一:

com.google.api.server.spi.SystemService invokeServiceMethod: cause={0} 
javax.persistence.PersistenceException: No meta data for java.lang.Process. Perhaps you need to run the enhancer on this class? 

我已經然後糾正進口,重新生成的客戶端庫,並重新部署應用程序到App Engine,但我一直得到相同的錯誤。就好像App Engine仍然認爲我使用的是java.lang.Process而不是我的Process類。

我也做了其他修改。像類成員變量類型和方法名稱一樣,並重新部署。但App Engine似乎沒有注意到這些變化。

我讀了關於API explorer如何「猛烈地緩存」,所以我試圖清除緩存,在另一個瀏覽器中甚至在另一臺PC上打開。依然沒有。

此外,我打開位於https://.appspot.com/_ah/api/discovery/v1/apis//v1/rest 中我的api的發現文件我注意到我更改的變量類型是仍然列爲舊類型。

我檢查了我部署的日誌。他們看起來都OK:

2013-07-06 18:59:59.960 /_ah/spi/BackendService.getApiConfigs 200 291ms 14kb 
I 2013-07-06 18:59:59.706 com.google.api.server.spi.BackendService getApiConfigs: apiConfigDir=/base/data/home/apps/s~<my-app>/1.368601601499931812/WEB-INF 
I 2013-07-06 18:59:59.707 com.google.api.server.spi.BackendService getApiConfigs: apiConfigFile=/base/data/home/apps/s~<my-app>/1.368601601499931812/WEB-INF/<my-api-name>-v1.api 
I 2013-07-06 18:59:59.713 com.google.api.server.spi.BackendService getApiConfigs: apiConfigFile=/base/data/home/apps/s~<my-app>/1.368601601499931812/WEB-INF/messageEndpoint-v1 
I 2013-07-06 18:59:59.740 com.google.api.server.spi.BackendService getApiConfigs: apiConfigFile=/base/data/home/apps/s~<my-app>/1.368601601499931812/WEB-INF/deviceinfoendpoint 

和管理日誌:

2013-07-06 18:59:35 <me> Successfully updated API configuration version=1 
2013-07-06 18:59:35 <me> Completed update of a new default version version=1.2013-07-06T21:59:30Z 
2013-07-06 18:59:32 <me> Deployed a new version version=1.2013-07-06T21:59:30Z 

任何人有任何想法? 在此先感謝。

+0

在項目屬性,你的版本是1。請檢查因爲如果它是不一樣的默認版本在雲中指定更新不會有任何區別。 –

+0

@danilo你有沒有解決這個問題? – Giuseppe

回答

1

它似乎不像你的.api文件正在重新生成。如果刪除.api文件,它們是否在dev或App Engine中加載時重新生成?爲什麼.API文件的最新信息重新創建

常見原因(即錯誤我發了過去):

  • 原語和枚舉都是不允許的。你必須傳回一個Bean。
  • API方法不是註釋
  • API方法是「私人」,而不是「公共」
相關問題