2015-09-02 128 views
0

我已經手動部署了一個WAR(在Tomcat上),其中包含公開Swagger 2.0端點的REST API的實現。 REST API是使用Java中的Restlet框架開發的。在應用主機上的文件夾結構如下所示:在Azure API應用服務上託管Java REST API

/site/wwwroot/webapps/myapp.war 
/site/wwwroot/apiapp.json 

apiapp.json內容是:

{ 
    "$schema": "http://json-schema.org/schemas/2014-11-01/apiapp.json#", 
    "id": "myapp.apiapp", 
    "namespace": "<myusername>.onmicrosoft.com", 
    "gateway": "2015-01-14", 
    "version": "1.0.0", 
    "title": "Title", 
    "summary": "", 
    "author": "Author", 
    "endpoints": { 
     "apiDefinition": "/myapp/api-docs", 
     "status": null 
    } 
} 

我能夠通過導航到https://<myapphost>.azurewebsites.net/myapp/api-docs

然而,當拿到招搖JSON我嘗試在Azure Portal上查看API定義我看到一個空白表,然後得到以下錯誤:

The gateway did not receive a response from 'Microsoft.AppService' within the specified time period. 
+0

1.您是否在「免費」計劃?就可以做什麼和不可以做什麼而言,可能存在一些限制。你能升級到標準嗎? 2.你是最新的所有包和SDK的? – jdruid

+0

@jdruid,我正在試用訂閱並使用標準S1服務計劃。我有最新的Azure SDK for Java - 正如我所說的,API運行良好,我可以與之交談。這是API定義部分不起作用。 – Santosh

回答

0

操作員錯誤:-) 我以爲我服務了Swagger 2.0,而實際上我仍然有舊的Swagger 1.2服務。將規範更新爲Swagger 2.0後,我現在可以看到Azure門戶上列出的定義。我希望這個錯誤比'網關超時'更有意義!