2016-07-21 156 views
0

我正嘗試在WSO2教程之後的REST API上使用WSO2 API Manager 1.10.0上的現有微服務項目。WSO2 APi管理器響應代碼0

我已經安裝了它在我的電腦上,以及我的應用程序的副本,並配置AM管理一個請求(GET,POST和DELETE)到我的資源,但我總是得到「響應代碼0」響應頭

{ 
    "error": "no response from server" 
} 

試圖聯繫我的應用程序使用高級REST客戶端我獲得200正確的結果。

我的API使用令牌頭裏面的驗證,我實現了一個虛擬API無需驗證用戶通過,但我仍然有同樣的問題。

我也嘗試過雲版本與我們的測試服務器,但仍然獲得相同的結果。 我發現本指南http://wso2.com/blogs/cloud/video-setting-up-custom-url-for-api-store-and-gateway/,但我不知道這是否可以解決本地主機中的問題。

回答

1

最後,我已經找到了問題:API Manager不接受純文本響應,響應使用JSON解決了這個問題。

使用其它介質類型,如XML或text/html的它報告406,與純文本返回錯誤0

1

WSO2 API Cloud中設置自定義網址不會幫助。那是爲了不同的目的。有兩件事你可以做。

  1. 如果您有興趣繼續使用雲版本,可以從中獲得幫助。您可以發送支持請求,雲團隊將提供幫助。

  2. 您可以排查本地實例的故障。當這樣做的時候,首先嚐試通過curl調用你的api,看它是否得到響應。有時,你的api可以正常工作,但由於某些原因,結果可能無法到達api控制檯。

如果捲曲工作正常與否,你可以檢查日誌,看看是否有印刷錯誤。還有一些問題:

  1. 您的後端服務是通過http還是https公開的?
  2. 如果它是https,那麼如果它的證書不是CA簽名的證書,那麼API管理器將在握手期間失敗。如果是這樣,您必須將證書添加到API管理客戶truststore.jks
  3. 在雲的情況下,你的後臺應該從互聯網訪問和證書的故事是有效的雲了。
+0

謝謝你的答案,我都試過了雲版本只是爲了排除這個問題之間的關係,我的安裝。我在轉儲API中插入了調試,並且它接收到正確的請求,但我仍然沒有對客戶端做出響應,curl報告「(60)SSL證書問題:無法獲得本地頒發者證書」。 我使用本地主機上的http和服務器上的http和https,但API Manager的證書無效,我嘗試將其導出爲自證書,但chrome仍報告不安全的連接。 –

+0

如果您嘗試在WSO2 API Cloud中進行卷曲,它不會抱怨證書。在您的本地部署中,它會投訴,因爲證書不是CA簽署的證書。你可以通過使用-k選項調用curl來擺脫這種情況。在Curl的雲版本中,你的結果是什麼? –

+0

現在我可以通過其他客戶端訪問我的資源,但由於「返回狀態0」錯誤,我仍然無法使用API​​ Manager的Web界面對其進行測試。我不打算使用雲版本,因爲API管理器必須安裝在我們的服務器上,但即使使用它,問題仍然存在。 –

1

您是否試圖使用swagger控制檯(或任何Web應用程序)訪問api。有幾個原因可能會遇到此問題。一個可能是沒有安裝在瀏覽器中的證書。

如果發生這種情況,你應該看到一些錯誤日誌,在API Manager控制檯(東西與CA未找到)。首先,您可以複製後端url(swagger控制檯顯示用於發送請求的url)並將其粘貼到新的瀏覽器窗口,然後將證書安裝到瀏覽器。

也可以使用類似Firebug工具獲取有關該問題的想法和檢查請求。 (它會顯示不連接AM)中的錯誤

+0

謝謝,可能我的問題與無效證書有關,我試着在chrome中保存丟失的證書(紅色鎖 - >詳細信息 - >查看證書 - >保存到文件)並將其導入爲「受信任的根證書「,但是這個網址仍然會導致不安全。我怎樣才能擺脫這一點?如果我從https://192.168.123.45:9443/.../(默認情況下WSO2使用計算機的IP)而不是https:// localhost:9443 /.../下載證書,它有什麼區別嗎?我已經嘗試使用 –

+0

導入從chrome下載的證書作爲中間證書頒發機構和受信任的根證書頒發機構,使用正確的密鑰(除了我的令牌)設置頭參數「授權」並在高級休息客戶端中啓用XHR通過API管理器提供的https URL獲得正確的響應,但我仍然使用WSO2 Web界面獲得「服務器無響應」,並且該頁面仍然報告爲不安全。 –

+0

WSO2產品附帶自簽名證書。這就是爲什麼它顯示網址不安全。您可以將CA簽名證書添加到產品。請參閱http://wso2.com/library/knowledge-base/2011/08/adding-ca-certificate-authority-signed-certificate-wso2-products/ –