Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
InvalidResourceUrlFormat
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid resource url format. Resource url is invalid_URL.
Przykładowy komunikat o błędzie
Error Deploying Revision 1 to test
Invalid resource url format. Resource url is jsc:add_variables.js.
Przykładowy zrzut ekranu
Przyczyna
Jeśli format adresu URL zasobu określony w elemencie <ResourceURL>
lub w elemencie <IncludeURL>
zasady JavaScript jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Prawidłowy format adresu URL zasobu wygląda tak:
<ResourceURL>jsc://<file_name>.js</ResourceURL>
<IncludeURL>jsc://<file_name>.js</IncludeURL>
Jeśli na przykład element <ResourceURL>
został określony w przykładzie poniżej, wdrożenie serwera proxy interfejsu API nie powiedzie się, ponieważ nie jest zgodny z określonym wzorcem:
<ResourceURL>jsc:add_variables.js</ResourceURL>
Diagnostyka
Określ nieprawidłowy format adresu URL zasobu używany w zasadzie JavaScript. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie format adresu URL zasobu to
jsc:add_variables.js
.Error Deploying Revision 1 to test Invalid resource url format. Resource url is jsc:add_variables.js.
Sprawdź wszystkie zasady dotyczące JavaScriptu w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada JavaScript, w której adres URL zasobu określony w elemencie
<ResourceURL>
lub<IncludeURL>
jest zgodny z nieprawidłowym wpisem zidentyfikowanym w kroku 1 powyżej, to jest przyczyną błędu.Na przykład ta zasada określa adres URL zasobu jako
jsc:add_variables.js
, który jest zgodny z treścią komunikatu o błędzie:<?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>
Ponieważ adres URL zasobu jest określony jako
jsc:add_variables.js
, co jest nieprawidłowe, wdrożenie serwera proxy interfejsu API nie powiodło się i występuje błąd:Invalid resource url format. Resource url is jsc:add_variables.js.
Rozdzielczość
Upewnij się, że format adresu URL zasobu określony w elemencie <ResourceURL>
lub <IncludeURL>
w zasadzie JavaScript jest prawidłowy. Na przykład:
<?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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid resource url ref invalid_reference in policy policy_name in org_name
Przykładowy komunikat o błędzie
Error Deploying Revision 8 to test
Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
Przykładowy zrzut ekranu
Przyczyna
Jeśli elementy <ResourceURL>
i <IncludeURL>
odwołują się do nieistniejącego pliku JavaScript, wdrożenie serwera proxy interfejsu API się nie uda.
Jeśli wdrażasz pakiet proxy na komputerze lokalnym, pliki źródłowe JavaScript muszą być przechowywane w systemie /apiproxy/resources/jsc
. W tym przypadku pliki źródłowe są ograniczone do serwera proxy interfejsu API.
W interfejsie użytkownika Edge pliki źródłowe JavaScript są widoczne w sekcji jsc w sekcji Skrypty panelu nawigacji edytora proxy interfejsu API. Pliki zasobów możesz też przechowywać w repozytoriach na poziomie organizacji i środowiska (aby na przykład udostępnić kod JavaScript wszystkim serwerom proxy w organizacji lub środkowej).
Ten błąd występuje, jeśli żadnych plików zasobów określonych w zasadzie nie można znaleźć w żadnym z dostępnych zakresów (proxy, środowiska lub organizacji).
Diagnostyka
Zidentyfikuj zasadę JavaScript, w której wystąpił błąd, która zawiera nieprawidłowe odwołanie do adresu URL zasobu. Informacje te znajdziesz w komunikacie o błędzie. W poniższym przykładzie w tym błędzie nazwa zasady to
js-TotalVariable
, a nieprawidłowe odniesienie do adresu URL zasobu tojsc://dependent_js.js
.Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
Sprawdź, czy odniesienie do adresu URL zasobu określone w nieudanej zasadzie JavaScript jest zgodne z wartością podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa odniesienie do adresu URL zasobu jako
jsc://dependent_js.js
, co jest zgodne z treścią komunikatu o błędzie:<?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>
Sprawdź, czy plik źródłowy wskazany w kroku 1 należy do określonego pakietu serwera proxy interfejsu API lub czy znajduje się w zakresie organizacji bądź środowiska.
- Aby sprawdzić, czy plik należy do określonego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:
- W interfejsie użytkownika Edge sprawdź, czy ten plik znajduje się w sekcji Skrypty serwera proxy interfejsu API.
- Pobierz pakiet API Proxy i wyszukaj plik, jeśli istnieje.
- Jeśli plik nie należy do określonego pakietu serwerów proxy interfejsu API, sprawdź, czy istnieje on na poziomie organizacji lub środowiska. Do analizy zagrożeń możesz użyć interfejsu Resource Files API.
Jeśli plik nie istnieje na poziomie serwera proxy interfejsu API, organizacji lub środowiska, to jest przyczyną błędu.
Zwróć uwagę, że w przykładzie opisanym powyżej nieprawidłowa nazwa pliku JavaScript to
dependent_js.js
. Na poniższym zrzucie ekranu warto zauważyć, że plik określony w zasadzie jako adres URL zasobu nie pojawia się w sekcji Skrypty. Dlatego nie jest częścią serwera proxy interfejsu API. Jeśli plik nie istnieje także na poziomie organizacji lub środowiska, wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:Invalid resource url ref jsc://dependent_js.js in policy js-TotalVariable in aprabhashankar-eval
- Aby sprawdzić, czy plik należy do określonego pakietu proxy interfejsu API, wykonaj jedną z tych czynności:
Rozdzielczość
Upewnij się, że pliki JavaScript określone w elementach <ResourceURL>
i <IncludeURL>
odnoszą się do prawidłowego pliku istniejącego na poziomie serwera proxy interfejsu API, organizacji lub środowiska.
Aby poprawić pokazaną powyżej przykładową zasadę JavaScript, dodaj plik dependent_js.js
do pakietu serwera proxy interfejsu API. Na zrzucie ekranu poniżej widać, że pliki JavaScript określone w elementach <ResourceURL>
i <IncludeURL>
są widoczne w sekcji Skrypty pakietu proxy interfejsu API.
WrongResourceType
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Resource JavaScript_file is the wrong type. It is invalid_type: but Javascript steps use type jsc:.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
Przykładowy zrzut ekranu
Przyczyna
Ten błąd występuje podczas wdrażania, jeśli elementy <ResourceURL>
i <IncludeURL>
zasady JavaScript odwołują się do typu zasobu innego niż jsc (plik JavaScript).
Jeśli na przykład element <IncludeURL>
został zadeklarowany w sposób pokazany poniżej, wdrożenie serwera proxy interfejsu API nie powiedzie się:
<IncludeURL>node://javascript-dependency.js</IncludeURL>
Wynika to z tego, że odnosi się do nieprawidłowego typu zasobu node
.
Diagnostyka
Zidentyfikuj nieprawidłowy typ zasobu używany w zasadzie JavaScript. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nieprawidłowy typ zasobu to
node
.Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
Sprawdź wszystkie zasady dotyczące JavaScriptu w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada JavaScript, w której zasób określony w zasadzie
<ResourceURL>
lub w elemencie<IncludeURL>
pasuje do nieprawidłowego typu zasobu wskazanego w kroku 1, to jest przyczyną błędu.Na przykład ta zasada określa typ zasobu jako
node
, co jest zgodne z treścią komunikatu o błędzie:<?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>
Ponieważ typ zasobu jest określony jako
node
, co jest nieprawidłowe, wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:Resource js_checkType.js is the wrong type. It is node: but Javascript steps use type jsc:.
Rozdzielczość
Upewnij się, że elementy <ResourceURL>
i <IncludeURL>
w zasadzie JavaScriptu zawsze odwołują się do typu zasobu jsc
.
Aby poprawić przykład pokazany powyżej, zmodyfikuj element <ResourceURL>
, by miał typ zasobu 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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Bundle is invalid. Errors:[Entity : Policy-policy_name, No ResourceURL or Source;].
Przykładowy komunikat o błędzie
Error Saving Revision 10
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
Przykładowy zrzut ekranu
Przyczyna
W tych sytuacjach wdrożenie zasady JavaScriptu może się nie powieść z powodu tego błędu:
- Jeśli element
<ResourceURL>
nie został zadeklarowany lub adres URL zasobu nie jest w nim zdefiniowany.<ResourceURL>
to element obowiązkowy. - Element
<IncludeURL>
jest zadeklarowany, ale adres URL zasobu nie jest w nim zdefiniowany. Element<IncludeURL>
jest opcjonalny, ale po zadeklarowaniu adres URL zasobu musi być określony w elemencie<IncludeURL>
.
Jeśli na przykład element <IncludeURL>
został zadeklarowany w sposób pokazany poniżej, wdrożenie serwera proxy interfejsu API nie powiedzie się:
<IncludeURL></IncludeURL>
Diagnostyka
Określ zasadę JavaScript, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Policy-js-example
:Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
W pliku XML zasad JavaScript, który zakończył się niepowodzeniem, wykonaj te czynności:
- Element
<ResourceURL>
musi zostać zadeklarowany, a element musi mieć zdefiniowany adres URL zasobu. - Jeśli element
<IncludeURL>
jest zadeklarowany, musisz w nim określić adres URL zasobu. Zadeklarowanie elementu<IncludeURL>
jest opcjonalne.
Jeśli któryś z tych testów zakończy się niepowodzeniem, to właśnie jest przyczyną błędu.
Przykład 1: w poniższej zasadzie nie zadeklarowano elementu
<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>
Ponieważ element
<ResourceURL>
nie został zadeklarowany, wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i występuje błąd:Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
Przykład 2: w poniższej zasadzie występuje pusty element
<IncludeURL>
.- Element
<?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>
Ponieważ element <IncludeURL>
nie ma adresu URL zasobu, wdrożenie serwera proxy interfejsu API kończy się błędem:
Bundle is invalid. Errors:[Entity : Policy-js-example, No ResourceURL or Source;].
Rozdzielczość
Upewnij się, że w zasadzie JavaScriptu spełnione są te warunki:
- Element
<ResourceURL>
jest zadeklarowany, a adres URL zasobu jest w nim zdefiniowany.<ResourceURL>
to element obowiązkowy. Jeśli element
<IncludeURL>
jest zadeklarowany, adres URL uwzględnionego zasobu musi być zdefiniowany w tym elemencie. Element<IncludeURL>
jest opcjonalny, ale po zadeklarowaniu adres URL zasobu należy określić w elemencie<IncludeURL>
.Aby poprawić przykład 1 pokazany powyżej, dodaj element
<ResourceURL>
z prawidłowym plikiem 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> </Javascript>
Aby poprawić przykład 2 pokazany powyżej, umieść w elemencie
<IncludeURL>
prawidłowy plik 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>