您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
問題
在開發人員入口網站使用 SmartDocs 發出即時 API 要求時發生錯誤。
錯誤訊息
開發人員入口網站常見錯誤訊息為「發生內部錯誤。請再試一次。」
可能原因
如果開發人員入口網站無法取得後端 (Smartdocs Proxy 或實際端點) 的回應,就可能會發生這個錯誤。
診斷
在瀏覽器中 啟用「開發人員工具」,然後查看網路分頁,找出實際錯誤。
下表列出常見錯誤及常見原因:
錯誤 |
常見原因 |
ERR_NAME_NOT_RESOLVED |
|
複合型內容 |
|
500 - 內部伺服器錯誤 |
以下將逐一說明每個原因,並說明問題解決步驟。
SmartDocs Proxy 設定錯誤或網路防火牆限制
「ERR_NAME_NOT_RESOLVED」訊息表示 Smartdocs Proxy 網址設定錯誤,或是存取入口網站的網路因防火牆限製而無法呼叫 Smartdocs Proxy 網址。Smartdocs Proxy 必須可透過網際網路或內部網路存取 (適用於內部 API)。
解析度
將 Smartdocs Proxy 部署至 Edge 上的「虛擬主機」,且該主機須可透過網際網路存取的主機名稱,確保 Smartdocs Proxy 可從所有必要的網路存取虛擬主機。
透過 HTTPS 設定入口網站、透過 HTTP 接收 SmartDocs 要求
「混合內容」錯誤表示有多少透過 HTTP 載入的頁面是透過 HTTP 呼叫 Smartdocs Proxy。
解析度
將 Smartdocs Proxy 透過 https 公開,即可解決問題。如要這麼做,請部署 Smartdocs Proxy,包含設定為使用 TLS/SSL 的「虛擬主機」 (通常是「安全」虛擬主機)。
SmartDocs Proxy 傳回例外狀況
「500 - 內部伺服器錯誤」訊息可能是「smartdocs Proxy」的問題所造成。此時,您會發現 Smartdocs Proxy 傳回這個錯誤。
診斷
使用追蹤記錄工具診斷「smartdocs」 Proxy 的錯誤,如下所述。詳情請參閱使用追蹤記錄工具。
- 在「VALIDATE」機構中啟用「smartdocs」 Proxy 的追蹤記錄,找出傳回 500 內部伺服器錯誤的特定政策。
- 在追蹤記錄中選取特定政策,找出錯誤原因。
解析度
修正系統發現的錯誤。如需協助,請與 Apigee Edge 支援團隊聯絡。
邊緣訊息處理工具無法呼叫已發布的 API 端點
500 - 如果訊息處理器屬於代管 Smartdocs Proxy 的機構無法呼叫 API 端點,也會發生內部伺服器錯誤。
診斷
使用追蹤記錄工具診斷「smartdocs」 Proxy 的錯誤,如下所述。詳情請參閱使用追蹤記錄工具。
- 在「VALIDATE」機構中,為「smartdocs」 Proxy 啟用「trace」,找出傳回 500 內部伺服器錯誤的特定政策。
- 在上方顯示的範例 UI 追蹤記錄中,您會看到 JavaScript 政策「BuildTargetAPIRequest」無法執行目標網址。
- 透過 JavaScript 政策「BuildTargetAPIRequest」取得目標網址。
- 直接透過與「VALIDATE」機構相關聯的訊息處理器節點傳送至該網址,如下所示:
curl -v <target URL>
- 修正系統觀察到的錯誤。
解析度
- 確保可透過與「VALIDATE」機構相關聯的訊息處理器叫用在開發人員入口網站上發布的 API,並修正發生的所有錯誤。
- 如果能夠直接從訊息處理器執行 API 呼叫,則應該也能透過 SmartDocs 執行 API。
- 透過 SmartDocs 執行 API 呼叫,並確認問題是否已解決。