您目前查看的是 Apigee 和 Apigee Hybrid 說明文件。
查看
Apigee Edge 說明文件。
InvalidResourceUrlFormat
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
錯誤訊息示例
Error Deploying Revision 1 to test
Invalid resource url format. Resource url is jsc:add_variables.js.
螢幕截圖範例

原因
如果 JavaScript 政策的 <ResourceURL> 或 <IncludeURL> 元素中指定的資源網址格式無效,API Proxy 的部署作業就會失敗。
指定資源網址的正確格式如下:
<ResourceURL>jsc://<file_name>.js</ResourceURL>
<IncludeURL>jsc://<file_name>.js</IncludeURL>
舉例來說,如果 <ResourceURL> 元素指定如下,API Proxy 的部署作業就會失敗,因為這不符合規定的模式:
<ResourceURL>jsc:add_variables.js</ResourceURL>
診斷
找出 JavaScript 政策中使用的無效資源網址格式。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,無效的資源網址格式為
jsc:add_variables.js。Error Deploying Revision 1 to test Invalid resource url format. Resource url is jsc:add_variables.js.檢查發生失敗的特定 API Proxy 中的所有 JavaScript 政策。如果
<ResourceURL>或<IncludeURL>元素中指定的資源網址與上述步驟 1 中識別的無效項目相符,就是造成錯誤的原因。舉例來說,下列政策將資源網址指定為
jsc:add_variables.js,與錯誤訊息中的內容相符:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable"> <DisplayName>js-TotalVariable</DisplayName> <Properties/> <ResourceURL>jsc:add_variables.js</ResourceURL> </Javascript>由於資源網址指定為無效的
jsc:add_variables.js,因此 API Proxy 的部署作業會失敗,並顯示下列錯誤:Invalid resource url format. Resource url is jsc:add_variables.js.
解析度
請確認 JavaScript 政策的 <ResourceURL> 或 <IncludeURL> 元素中指定的資源網址格式有效。例如:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
<DisplayName>js-TotalVariable</DisplayName>
<Properties/>
<ResourceURL>jsc://add_variables.js</ResourceURL>
</Javascript>
InvalidResourceUrlReference
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
錯誤訊息示例
Error Deploying Revision 8 to test
Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
螢幕截圖範例

原因
如果 <ResourceURL> 和 <IncludeURL> 元素參照的 JavaScript 檔案不存在,API Proxy 的部署作業就會失敗。
如果您要從本機電腦部署 Proxy 組合,JavaScript 來源檔案必須儲存在 /apiproxy/resources/jsc 下方。在這種情況下,來源檔案的範圍會限定在 API Proxy。
在 Apigee 使用者介面中,API Proxy 編輯器的「Navigator」窗格「Scripts」部分下方,會顯示「jsc」jsc下方的 JavaScript 來源檔案。您也可以將資源檔案儲存在環境層級的存放區 (例如,讓機構或環境中的所有 Proxy 都能使用 JavaScript 程式碼)。
如果系統在任何可用範圍 (Proxy 或環境) 中,都找不到政策中指定的任何資源檔案,就會發生這項錯誤。
診斷
找出發生錯誤的 JavaScript 政策,其中包含無效的資源網址參照。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,政策名稱為
js-TotalVariable,無效的資源網址參照為jsc://dependent_js.js。Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval確認失敗的 JavaScript 政策中指定的資源網址參照,與錯誤訊息中識別的值 (如上方的步驟 1) 相符。舉例來說,下列政策將資源網址參照指定為
jsc://dependent_js.js,與錯誤訊息中的內容相符:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable"> <DisplayName>js-TotalVariable</DisplayName> <Properties/> <ResourceURL>jsc://add_variables.js</ResourceURL> <IncludeURL>jsc://dependent_js.js</IncludeURL> </Javascript>檢查步驟 1 中識別的來源檔案是否屬於特定 API Proxy 套件,或是否存在於環境範圍。
- 如要檢查檔案是否屬於特定 API Proxy 套件,請按照下列其中一個步驟操作:
- 在 Apigee UI 中,檢查這個檔案是否位於 API Proxy 的「Scripts」部分。
- 下載 API Proxy 套件,並搜尋檔案是否存在。
- 如果檔案不屬於特定 API Proxy 套件,請檢查檔案是否存在於環境層級。您可以使用資源檔案 API 進行這項調查。
如果 API Proxy 或環境層級沒有這個檔案,就是造成錯誤的原因。
在上述範例中,無效的 JavaScript 檔案名稱為
dependent_js.js。在下方的螢幕截圖中,請注意政策中指定為資源網址的檔案,並未顯示在「指令碼」部分。因此不屬於 API Proxy。如果環境層級也不存在該檔案,API Proxy 部署作業就會失敗,並顯示下列錯誤:Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
- 如要檢查檔案是否屬於特定 API Proxy 套件,請按照下列其中一個步驟操作:
解析度
請確認 <ResourceURL> 和 <IncludeURL> 元素中指定的 JavaScript 檔案,是指 API Proxy 或環境層級的有效檔案。
如要修正上述 JavaScript 政策範例,請將 dependent_js.js 檔案新增至 API Proxy 套件。在下方的螢幕截圖中,您可以看到 <ResourceURL> 和 <IncludeURL> 元素中指定的 JavaScript 檔案,顯示在 API Proxy bundle 的「Scripts」部分。

WrongResourceType
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Deploying Revision revision_number to environment Resource JavaScript_file is the wrong type. It is invalid_type: but JavaScript steps use type jsc:.
錯誤訊息示例
Error Deploying Revision 2 to test
Resource js_checkType.js is the wrong type. It is node: but JavaScript steps use type jsc:.
螢幕截圖範例

原因
如果 JavaScript 政策的 <ResourceURL> 和 <IncludeURL> 元素參照的資源類型不是 jsc (JavaScript 檔案),部署時就會發生這個錯誤。
舉例來說,如果 <IncludeURL> 元素宣告如下,API 代理項目部署作業就會失敗:
<IncludeURL>node://javascript-dependency.js</IncludeURL>
這是因為它參照的 node 資源類型不正確。
診斷
找出 JavaScript 政策中使用的無效資源類型。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,無效的資源類型為
node。Resource js_checkType.js is the wrong type. It is node: but JavaScript steps use type jsc:.檢查發生失敗的特定 API Proxy 中的所有 JavaScript 政策。如果 JavaScript 政策中,
<ResourceURL>或<IncludeURL>元素指定的資源與上述步驟 1 中識別的無效資源類型相符,就是造成錯誤的原因。舉例來說,下列政策將資源類型指定為
node,與錯誤訊息中的內容相符:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable"> <DisplayName>js-TotalVariable</DisplayName> <Properties/> <ResourceURL>node://js_checkType.js</ResourceURL> <IncludeURL>jsc://javascript-dependency.js</IncludeURL> </Javascript>由於資源類型指定為無效的
node,因此 API Proxy 部署作業會失敗,並顯示下列錯誤:Resource js_checkType.js is the wrong type. It is node: but JavaScript steps use type jsc:.
解析度
請確保 JavaScript 政策中的 <ResourceURL> 和 <IncludeURL> 元素一律參照 jsc 資源類型。
如要修正上述範例,請修改 <ResourceURL> 元素,使其具有 jsc 資源類型。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-TotalVariable">
<DisplayName>js-TotalVariable</DisplayName>
<Properties/>
<ResourceURL>jsc://js_checkType.js</ResourceURL>
<IncludeURL>jsc://javascript-dependency.js</IncludeURL>
</Javascript>
NoResourceURLOrSource
錯誤訊息
透過 Apigee 使用者介面或 API 部署 API Proxy 時失敗,並顯示以下錯誤訊息:
Error Saving Revision revision_number Bundle is invalid. Errors:[Entity : Policy-policy_name, No ResourceURL or Source;].
錯誤訊息示例
Error Saving Revision 10
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
螢幕截圖範例

原因
在下列情況下,部署 JavaScript 政策可能會失敗並顯示此錯誤:
- 如果未宣告
<ResourceURL>元素,或未在這個元素中定義資源網址。<ResourceURL>元素為必要元素。 - 已宣告
<IncludeURL>元素,但未在這個元素中定義資源網址。<IncludeURL>元素為選用屬性,但如果經過宣告,就必須在<IncludeURL>元素中指定資源網址。
舉例來說,如果 <IncludeURL> 元素宣告如下,API 代理項目部署作業就會失敗:
<IncludeURL></IncludeURL>
診斷
找出發生錯誤的 JavaScript 政策。這項資訊會顯示在錯誤訊息中。舉例來說,在下列錯誤中,政策名稱為
Policy-js-example:Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].在失敗的 JavaScript 政策 XML 檔案中,執行下列檢查:
- 必須宣告
<ResourceURL>元素,且該元素必須定義資源網址。 - 如果宣告
<IncludeURL>元素,就必須在其中指定資源網址。宣告<IncludeURL>元素為選用項目。
如果上述任何檢查失敗,就是導致錯誤的原因。
範例 1:下列政策未宣告
<ResourceURL>元素:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example"> <DisplayName>js-example</DisplayName> <Properties/> </Javascript>由於未宣告
<ResourceURL>元素,API Proxy 部署作業會失敗,並顯示下列錯誤:Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].示例 2:下列政策含有空白的
<IncludeURL>元素。- 必須宣告
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example">
<DisplayName>js-example</DisplayName>
<Properties/>
<ResourceURL>jsc://check_var.js</ResourceURL>
<IncludeURL></IncludeURL>
</Javascript>
由於 <IncludeURL> 元素沒有資源網址,API Proxy 部署作業會失敗,並顯示下列錯誤:
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
解析度
請確認 JavaScript 政策符合下列條件:
<ResourceURL>元素會宣告,且資源網址是在這個元素內定義。<ResourceURL>元素為必要元素。如果宣告
<IncludeURL>元素,就必須在這個元素中定義 include 資源網址。<IncludeURL>元素為選用屬性,但如果宣告,就必須在<IncludeURL>元素中指定資源網址。如要修正上方範例 1,請加入含有有效 JavaScript 檔案的
<ResourceURL>元素:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example"> <DisplayName>js-example</DisplayName> <Properties/> <ResourceURL>jsc://check_var.js</ResourceURL> </Javascript>如要修正上方範例 2,請在
<IncludeURL>元素中加入有效的 JavaScript 檔案<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Javascript async="false" continueOnError="false" enabled="true" timeLimit="200" name="js-example"> <DisplayName>js-example</DisplayName> <Properties/> <ResourceURL>jsc://check_var.js</ResourceURL> <IncludeURL>jsc://js_dependency.js</IncludeURL> </Javascript>