查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
InvalidProtocol
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
錯誤訊息示例
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
螢幕截圖範例
原因
如果 <Protocol>
元素中指定的通訊協定無效,MessageLogging 政策政策的部署作業可能會失敗,並顯示這項錯誤。有效的通訊協定為 TCP 和 UDP。如果是透過 TLS/SSL 傳送系統記錄訊息,僅支援 TCP。
舉例來說,如果您在 MessageLogging 政策的 <Protocol>
元素中指定 HTTP,API Proxy 部署作業就會失敗,如下所示:
<Protocol>HTTP</Protocol>
診斷
找出發生錯誤的 MessageLogging 政策。你可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,政策名稱為
LogToSyslog:
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
在失敗的 MessageLogging 政策設定中,檢查
<Protocol>
元素內指定的通訊協定是否有效。如果有指定的通訊協定無效,就會造成錯誤。舉例來說,下列政策指定某個無效的通訊協定。
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog" Syslog Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e < Hostlog>s-01<.loggly.c>om/Ho<st Port51>4/Po<rt Protoco>lHT<TP/Prot>oco<l Fo>rmatM<essagetru>e</FormatMessage >
/Syslog logLevelALERT/logLevel /MessageLogging由於
<Protocol>
元素中定義的通訊協定無效,因此 API Proxy 部署作業會失敗,並出現以下錯誤:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
解析度
確保 MessageLogging 政策 <Protocol>
元素中定義的通訊協定有效。<Protocol>
元素支援下列值:
- TCP
- UDP
如要修正上述範例,請在 <Protocol>
元素中定義有效的通訊協定:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
Syslog
Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
< Hostlog>s-0<1.loggly.>com/H<ost
Port5>14/P<ort
Protoc>olT<CP/Prot>oco<l
Fo>rmatM<essagetru>e</FormatMessage
>
/Syslog
logLevelALERT/logLevel
/MessageLogging
InvalidPort
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
錯誤訊息示例
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
螢幕截圖範例
原因
如果 MessageLogging 政策未指定,若未在 <Port>
元素中指定通訊埠號碼,或如果無效,則可能會失敗並發生此錯誤。通訊埠編號須為大於零的整數。
舉例來說,如果宣告 <Port>
元素如下所示,API Proxy 部署作業就會失敗:
<Port>0</Port>
診斷
找出發生錯誤的 MessageLogging 政策。你可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,政策名稱為
LogToSyslog:
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
在失敗的 MessageLogging 政策中,檢查
<Port>
元素內是否已指定有效的通訊埠號碼。如果通訊埠號碼未定義或無效,表示發生錯誤。舉例來說,下列政策指定的通訊埠號碼無效:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog" Syslog Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>.</Mess>age < Hostl>ogs<-01.loggl>y.com</Host Por>t0/P<ort Protoc>olT<CP/Prot>oco<l Fo>rmatM<essagetru>e</FormatMessage >
/Syslog logLevelALERT/logLevel /MessageLogging由於
<Port>
元素中定義的通訊埠號碼無效,API Proxy 部署作業就會失敗,並出現以下錯誤:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
解析度
確保在 MessageLogging 政策的 <Port>
元素中已定義通訊埠號碼。必須為大於零的整數。
如要修正上述範例,請在 <Protocol>
元素中定義有效的通訊埠號碼。
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
Syslog
Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
< Hostlog>s-0<1.loggly.>com/H<ost
Port5>14/P<ort
Protoc>olT<CP/Prot>oco<l
Fo>rmatM<essagetru>e</FormatMessage
>
/Syslog
logLevelALERT/logLevel
/MessageLogging