Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
SourceMessageNotAvailable
Kod błędu
steps.extractvariables.SourceMessageNotAvailable
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "[variable_name] message is not available for ExtractVariable: [policy_name]", "detail": { "errorcode": "steps.extractvariables.SourceMessageNotAvailable" } } }
Przyczyna
Ten błąd występuje, jeśli zmienna message określona w elemencie <Source>
w zasadzie Wyodrębnianie zmiennych to:
- poza zakresem (niedostępne w ramach konkretnego procesu, w którym jest wykonywana zasada) lub
- nie można rozwiązać (nie jest zdefiniowany)
Na przykład ten błąd występuje, jeśli zasada Wyodrębnij zmienne jest wykonywana w sekcji
przepływu żądań, ale element <Source>
jest ustawiony na response
lub error
, która nie występuje w przepływie żądania.
Diagnostyka
Zidentyfikuj zasadę dotyczącą wyodrębniania zmiennych, w której wystąpił błąd, oraz nazwę zmiennej, która jest niedostępna. Oba te elementy znajdziesz w elemencie
faultstring
odpowiedzi na błąd. Na przykład w następującej informacji o błędzie nazwa zasady toExtractVariables-1
, a jej zmienna toresponse
:"faultstring": "response message is not available for ExtractVariable: ExtractVariables-1"
W pliku XML zasady wyodrębniania zmiennych sprawdź, czy nazwa zmiennej ustawiony w elemencie odpowiada nazwie zmiennej określonej w ciągu błędu (krok 1) powyżej). Na przykład ta zasada wyodrębniania zmiennych określa w elemencie zmienną o nazwie
response
, która jest zgodna z wartością w ciągu błędów:<ExtractVariables name="ExtractVariables-1"> <Source>response</Source> <URIPath> <Pattern ignoreCase="true">/a/{pathSeg}</Pattern> </URIPath> <VariablePrefix>urirequest</VariablePrefix> </ExtractVariables>
Sprawdź, czy zmienna używana w elemencie
<Source>
jest zdefiniowana i dostępna w przepływie, w którym jest wykonywana zasada wyodrębniania zmiennych.Jeśli zmienna to:
- poza zakresem (niedostępne w ramach konkretnego procesu, w którym są realizowane zasady) lub
- nie może zostać rozwiązana (nie jest zdefiniowana).
to właśnie jest przyczyną błędu.
Na przykład załóżmy, że przedstawiona powyżej zasada Wyodrębnianie zmiennych jest wykonywana w ramach procesu żądania. Pamiętaj, że zmienna
response
jest używana w elemencie<Source>
w zasadach dotyczących wyodrębniania zmiennych. Zmiennaresponse
jest dostępna tylko w przepływie odpowiedzi.Zmienna
response
nie występuje w przepływie żądania, dlatego otrzymujesz kod błędu:steps.extractvariables.SourceMessageNotAvailable
.
Rozdzielczość
Upewnij się, że zmienna ustawiona w elemencie <Source>
nieudanych zasad wyodrębniania zmiennych jest zdefiniowana i istnieje w przepływie wykonywania tej zasady.
Aby poprawić przykładową zasadę wyodrębniania zmiennych widoczną powyżej, możesz zmodyfikować element <Source>
, tak aby używał zmiennej request
w postaci obecnej w przepływie żądania:
<ExtractVariables name="ExtractVariables-1">
<Source>request</Source>
<URIPath>
<Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
</URIPath>
<VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>
SetVariableFailed
Kod błędu
steps.extractvariables.SetVariableFailed
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "Failed to set variable [variable_name] value [variable_value] from ExtractVariables: [policy_name]", "detail": { "errorcode": "steps.extractvariables.SetVariableFailed" } } }
Przyczyna
Ten błąd występuje, jeśli zasada Wyodrębnianie zmiennych nie może ustawić wartości zmiennej. Zwykle dzieje się tak, gdy próbujesz przypisać wartości wielu zmiennym, których nazwy zaczynają się od tych samych słów w zagnieżdżonym formacie rozdzielonym kropkami.
Załóżmy np., że tworzysz lub przypisujesz wartość do zmiennej var.color
. W tym przypadku color
jest przypisany jako węzeł obiektu. Jeśli spróbujesz przypisać wartość innej zmiennej var.color.next
, nie uda Ci się to, ponieważ zmienna color
jest już przypisana i nie można jej przypisać innej zmiennej.
Diagnostyka
Wskaż zasadę wyodrębniania zmiennych, w której wystąpił błąd, i wskaż nazwę zmiennej, której wartości nie można ustawić. Oba te elementy znajdziesz w elemencie
faultstring
odpowiedzi na błąd. Na przykład w tym ciągu błędu nazwa zasady toExtractColors
, a zmienna tovar.color.next
:"faultstring": "Failed to set variable var.color.next value red from ExtractVariables: ExtractColors"
W pliku XML zasady wyodrębniania zmiennych sprawdź, czy nazwa zmiennej pasuje do nazwy zmiennej podanej w ciągu błędu (krok 1 powyżej). Dla: na przykład ta zasada próbuje przypisać wartość z zapytania do zmiennej o nazwie
var.color.next
(wartości, która pojawia się jako ciąg błędu):<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractColors"> <DisplayName>ExtractColors</DisplayName> <Source>request</Source> <QueryParam name="color"> <Pattern ignoreCase="true">{color}</Pattern> </QueryParam> <QueryParam name="nextcolor"> <Pattern ignoreCase="true">{color.next}</Pattern> </QueryParam> <VariablePrefix>var</VariablePrefix> </ExtractVariables>
Sprawdź wszystkie nazwy zmiennych używane w niezgodnym z zasadami wyodrębniania zmiennych. Jeśli masz przypisaną wartość do innej zmiennej, której nazwa zaczyna się tak samo jak nazwa podana w serii błędów (czynność 1 powyżej), to właśnie ona jest przyczyną błędu.
Zwróć uwagę na widoczną powyżej przykładową zasadę wyodrębniania zmiennych:
- Wartość parametru zapytania o nazwie
color
jest najpierw przypisana do zmiennejvar.color
(uwaga:var
jest prefiksem wszystkich zmiennych ustawionym w elemencie<VariablePrefix>
) - W następnym przypisaniu wartość parametru zapytania
nextcolor
jest przypisana do innej zmiennejvar.color.next
. - Zmienna
var.color
została już przydzielona, więc zasada Wyodrębnianie zmiennych nie może przydzielić innej zagnieżdżonej zmiennejvar.color.next
. Dlatego pojawia się kod błędu:steps.extractvariables.SetVariableFailed
- Wartość parametru zapytania o nazwie
Rozdzielczość
Upewnij się, że nie masz wielu nazw zmiennych, których nazwy zaczynają się od te same słowa zagnieżdżone w formacie oddzielonych kropkami.
Aby poprawić widoczną powyżej zasadę wyodrębniania zmiennych, możesz zmodyfikować nazwa zmiennej
var.color.next
, aby użyć nazwy zmiennejvar.nextcolor.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractColors"> <DisplayName>ExtractColors</DisplayName> <Source>request</Source> <QueryParam name="color"> <Pattern ignoreCase="true">{color}</Pattern> </QueryParam> <QueryParam name="nextcolor"> <Pattern ignoreCase="true">{nextcolor}</Pattern> </QueryParam> <VariablePrefix>var</VariablePrefix> </ExtractVariables>
Więcej informacji
Więcej informacji znajdziesz w tym poście na karcie Społeczność.
InvalidJSONPath
Kod błędu
steps.extractvariables.InvalidJSONPath
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "Invalid JSON path [path_name] in policy [policy_name].", "detail": { "errorcode": "steps.extractvariables.InvalidJSONPath" } } }
Przyczyna
Ten błąd występuje, jeśli w elemencie <JSONPath>
używana jest nieprawidłowa ścieżka JSON
zasad Wyodrębnianie zmiennych. Jeśli na przykład ładunek JSON nie zawiera
obiektu Name
, ale jako ścieżkę w sekcji Wyodrębnianie zmiennych podasz Name
, wtedy występuje ten błąd.
Diagnostyka
Określ zasadę wyodrębniania zmiennych, w której wystąpił błąd i nieprawidłową Ścieżka JSON. Oba te produkty znajdziesz w elemencie
faultstring
w odpowiedź na żądanie błędu. Na przykład w tym ciągu błędu nazwa zasady toExtractJSONVariables
, a nieprawidłowa ścieżka JSON to$.Name
:"faultstring": "Invalid JSON path $.Name in policy ExtractJSONVariables."
W pliku XML zasady „Extract Variables” (wyodrębnianie zmiennych) sprawdź, czy ścieżka JSON ustawiona w elemencie
<JSONPath>
jest zgodna ze ścieżką wskazaną w ciągu błędów (krok 1 opisany powyżej). Na przykład ta zasada wyodrębniania zmiennych określa ścieżkę JSON$.Name
, która jest zgodna z informacjami w ciągu błędu:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractJSONVariables"> <Source>response</Source> <JSONPayload> <Variable name="name" type="string"> <JSONPath>$.Name</JSONPath> </Variable> </JSONPayload> <VariablePrefix>employee</VariablePrefix> </ExtractVariables>
Sprawdź element
<Source>
i ustanów, z którego ładunku JSON chcesz wyodrębnić zmienną. Jeśli na przykład element<Source>
ma wartośćrequest
, zasada pobiera ładunek JSON z obiektu żądania. Jeśli ma wartośćresponse
, jest to obiekt odpowiedzi.W wyświetlonej powyżej przykładowej regule wyodrębniania zmiennych element
<Source>
ma wartośćresponse
, więc zmienne są wyodrębniane z ładunku JSON odpowiedzi.<Source>response</Source>
Sprawdź odpowiedni ładunek JSON (określony w kroku 3) i sprawdź, czy zawiera obiekt określony w elemencie
<JSONPath>
. Jeśli ładunek JSON nie ma tego obiektu, to to jest przyczyną błędu.Wyobraź sobie na przykład, że próbujesz wyodrębnić zmienne z następujących elementów Ładunek odpowiedzi JSON:
{ "firstName":"John", "lastName":"Doe", "city":"San Jose", "state":"CA" }
Ponieważ ładunek odpowiedzi JSON nie ma obiektu
Name
, zasada wyodrębniania zmiennych kończy się niepowodzeniem i pojawi się błąd z kodem:steps.extractvariables.InvalidJSONPath
.
Rozdzielczość
Upewnij się, że w elemencie
<JSONPath>
zasady Wyodrębnianie zmiennych znajdują się tylko obiekty, które są częścią ładunku JSON, z którego są wyodrębniane zmienne.Aby poprawić przykładową zasadę wyodrębniania zmiennych widoczną powyżej, możesz zmodyfikować element
<JSONPath>
, tak aby określał jeden z obiektów dostępnych w ładunku przykładowej odpowiedzi JSON (np. prawidłowe są obiektyfirstName
ilastName
):<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractJSONVariables"> <Source>response</Source> <JSONPayload> <Variable name="name" type="string"> <JSONPath>$.firstName</JSONPath> </Variable> </JSONPayload> <VariablePrefix>employee</VariablePrefix> </ExtractVariables>
ExecutionFailed
Kod błędu
steps.extractvariables.ExecutionFailed
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "Failed to execute the ExtractVariables: [policy_name]", "detail": { "errorcode": "steps.extractvariables.ExecutionFailed" } } }
Możliwe przyczyny
Możliwe przyczyny tego błędu:
Przyczyna | Opis |
Brak ładunku wejściowego | Ładunek wejściowy (JSON, XML) jest pusty. |
Nieprawidłowe lub źle sformatowane dane wejściowe | Dane wejściowe (JSON, XML itp.) przekazywane do zasady są nieprawidłowe lub źle sformułowane. |
Przyczyna: brak ładunku wejściowego
Ten błąd występuje, jeśli zasada Wyodrębnianie zmiennych ma pobierać zmienne z ładunku JSON lub XML, ale zawartość (ładunek) zmiennej określonej w elemencie <Source>
jest pusta.
Jeśli na przykład element <Source>
w zasadzie Wyodrębnianie zmiennych jest ustawiony jako request
lub response
i powinny zawierać ładunek JSON lub XML, ale ładunek jest pusty, wystąpi błąd.
Diagnostyka
Wskaż zasadę wyodrębniania zmiennych, w której wystąpił błąd. Więcej . Przykład: w tym ciągu znaków nazwa zasady to
ExtractJSONVariables
:"faultstring": "Failed to execute the ExtractVariables: ExtractXMLVariables"
Sprawdź element
<Source>
w nieprawidłowym kodzie XML wyodrębniania zmiennych i ustal typ danych wejściowych, z których wyodrębniane są zmienne. Na przykład ta zasada Wyodrębnianie zmiennych ma element<Source>
ustawiony naresponse
i pobiera zmienne z ładunku XML:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractXMLVariables" async="false" continueOnError="false" enabled="true"> <XMLPayload> <Namespaces/> <Variable name="City" type="string"> <XPath>/city</XPath> </Variable> </XMLPayload> <Source clearPayload="false">response</Source> </ExtractVariables>
Sprawdź, czy dane wejściowe analizowane przez zasadę Wyodrębnianie zmiennych są puste. Jeśli dane wejściowe są puste, to to jest przyczyną błędu.
W wyświetlonej powyżej przykładowej polityce wyodrębniania zmiennych ładunek odpowiedzi (czyli treść odpowiedzi) wysłany przez serwer zaplecza był pusty.
Ponieważ ładunek odpowiedzi XML jest pusty, otrzymujesz kod błędu:
steps.extractvariables.ExecutionFailed
Ten błąd może też wystąpić, jeśli element
<Source>
ma wartośćrequest
, ale w żądaniu serwera proxy interfejsu API nie jest przekazywany żaden ładunek. Na przykład:curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/xml"
Zasada Wyodrębnij zmienne przeprowadza wyodrębnianie kodu XML tylko wtedy, gdy Nagłówek
Content-Type
ma wartośćapplication/xml
,text/xml
lubapplication/*+xml
. Nagłówek Content-Type musi być przekazywany jakoapplication/xml
,text/xml
lubapplication/*+xml
, jeśli chcesz, aby zasada Wyodrębnianie zmiennych analizowała kod XML. ładunku żądania.
Rozdzielczość
Sprawdź, czy dane wejściowe przekazywane do zasady Wyodrębnianie zmiennych są prawidłowe i niepuste.
Aby rozwiązać problem z przykładową zasadą wyodrębniania zmiennych podaną powyżej, prześlij prawidłowy ładunek XML. Na przykład:
Utwórz plik o nazwie
city.xml
z tą zawartością:<city>Bengaluru</city> <area>Sanjaynagar</area>
Wywołanie interfejsu API przy użyciu polecenia cURL w następujący sposób:
curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/xml" -X POST -d @city.xml
Przyczyna: nieprawidłowe lub źle sformatowane dane wejściowe
Ten błąd występuje, jeśli zasada Wyodrębnianie zmiennych analizuje dane wejściowe, które są nieprawidłowe lub uszkodzone.
Ten błąd wystąpi na przykład, jeśli jako dane wejściowe w zasadzie wyodrębniania zmiennych zostanie podany poniższy nieprawidłowy kod JSON.
[
"args": ["name" : "amar" ]
]
Diagnostyka
Wskaż zasadę wyodrębniania zmiennych, w której wystąpił błąd. Więcej te informacje w elemencie
faultstring
odpowiedzi na błąd. Przykład: w tym elemenciefaultstring
nazwa zasady toExtractJSONVariables
:"faultstring": "Failed to execute the ExtractVariables: ExtractJSONVariables"
Sprawdź element
<Source>
w nieprawidłowym kodzie XML wyodrębniania zmiennych i ustal typ danych wejściowych, z których wyodrębniane są zmienne. Na przykład ta zasada Wyodrębnianie zmiennych ma element<Source>
ustawiony narequest
i pobiera zmienne z ładunku JSON:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractJSONVariables" async="false" continueOnError="false" enabled="true"> <JSONPayload> <Variable name="Name" type="string"> <JSONPath>$.args.name</JSONPath> </Variable> </JSONPayload> <Source clearPayload="false">request</Source> </ExtractVariables>
Sprawdź, czy dane wejściowe analizowane przez zasadę Wyodrębnianie zmiennych są prawidłowe. Jeśli dane wejściowe są nieprawidłowe lub źle sformułowane, to właśnie jest przyczyną błędu.
W pokazanej powyżej przykładowej zasadzie wyodrębniania zmiennych do zasady Wyodrębnianie zmiennych przekazano następujący nieprawidłowy kod JSON:
[ "args": ["name" : "amar" ] ]
Oto przykładowe wywołanie interfejsu API, które pokazuje, jak żądanie zostało przekazane:
curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/json" -X POST -d '[ "args" : ["name" : "amar" ]]'
Ładunek JSON przekazany do interfejsu API jest nieprawidłowy, ponieważ zawiera tablicę w nawiasach kwadratowych (
[ ]
), więc otrzymujesz kod błędu:steps.extractvariables.ExecutionFailed
Ten błąd może też wystąpić, jeśli element
<Source>
ma wartośćresponse
, ale ładunek odpowiedzi JSON jest nieprawidłowy lub źle sformułowany.
Rozdzielczość
Sprawdź, czy dane wejściowe przekazywane do zasady Wyodrębnianie zmiennych są prawidłowe i nie mają prawidłowego formatu.
Aby rozwiązać problem z omówioną powyżej przykładową zasadą wyodrębniania zmiennych, prześlij prawidłowe żądanie ładunku JSON w następujący sposób:
{
"args":{
"name":"amar"
}
}
UnableToCast
Kod błędu
steps.extractvariables.UnableToCast
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "Unable to cast value [value] as [type].", "detail": { "errorcode": "steps.extractvariables.UnableToCast" } } }
Przyczyna
Ten błąd występuje, jeśli zasada Wyodrębnianie zmiennych nie mogła rzutować wyodrębnionych zmiennych do zmiennej. Zwykle dzieje się tak, gdy próbujesz ustawić wartość z jednego typu danych na zmienną innego typu danych.
Jeśli na przykład zasada Wyodrębnij zmienną próbuje ustawić wartość, która została wyodrębnionej ze zmiennej typu String (ciąg znaków) do zmiennej typu Liczba całkowita.
Diagnostyka
Określ typ danych zmiennej, do której służy zasada Wyodrębnianie zmiennych próbuje przesyłać treści, ale kończy się to niepowodzeniem. Te informacje znajdziesz tutaj:
faultstring
w odpowiedzi na błąd. Na przykład w tym elemenciefaultstring
atrybut typ obiektu toBOOLEAN
:"faultstring":"Unable to cast value 36.231 as BOOLEAN."
Zidentyfikuj zasadę Wyodrębnianie zmiennych, w której próbujesz ustawić wartość zmiennej typu określonego w kroku 1.
Na przykład ta zasada Wyodrębnianie zmiennych pobiera wartość z JSONPath
$.latitude
do zmiennej typuboolean
, która odpowiada w ciągu znaków błędu:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="EV-XML-Name" async="false" continueOnError="false" enabled="true"> <JSONPayload> <Variable name="latitude" type="boolean"> <JSONPath>$.latitude</JSONPath> </Variable> </JSONPayload> <Source clearPayload="false">response</Source> </ExtractVariables>
Sprawdź typ danych dla wyodrębnionej wartości. Dane mogą znajdować się w formy nagłówków, ścieżek URI, ładunków JSON/XML, parametrów formularza i parametrów zapytań.
Sprawdź, czy typ danych określony w kroku 3 i typ danych zmiennej, do której przypisujesz dane (zdefiniowane w kroku 2), są takie same.
Jeśli typ danych zmiennych źródłowych i docelowych jest inny, jest to przyczyną błędu.
W przykładzie zasad wyodrębniania zmiennych pokazanych powyżej ładunek zapytania JSON ma postać:
{ "latitude":36.2312 }
Typ danych wartości wyodrębnionej z elementu
<JSONPath>
,‘$.latitude’
, to liczba całkowita, która jest przypisywana do zmiennej typu danych boolean.Ponieważ typ danych wyodrębnionej wartości i typ danych zmiennej, której przypisujesz tę wartość, są różne, otrzymasz kod błędu:
steps.extractvariables.UnableToCast
.
Rozdzielczość
Upewnij się, że typ danych wyodrębnionej wartości i zmiennej, do której przypisywane są treści, jest taki sam.
Aby poprawić przykładową zasadę wyodrębniania zmiennych, musisz zmienić typ zmiennej na Liczba całkowita:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="EV-XML-Name" async="false" continueOnError="false" enabled="true">
<JSONPayload>
<Variable name="latitude" type="integer">
<JSONPath>$.latitude</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">response</Source>
</ExtractVariables>
JsonPathParsingFailure
Kod błędu
steps.extractvariables.JsonPathParsingFailure
Treść odpowiedzi na błąd
{ "fault": { "faultstring": "ExtractVariables [policy_name]: Json path parsing failed for flow variables [variable_name]", "detail": { "errorcode": "steps.extractvariables.JsonPathParsingFailure" } } }
Przyczyna
Ten błąd występuje, gdy wyodrębnij zmienne
zasada nie może przeanalizować ścieżki JSON i wyodrębnić danych ze zmiennej przepływu
określono w elemencie <Source>
. Zwykle dzieje się tak, gdy zmienna przepływu
określone w elemencie <Source>
nie istnieje w bieżącym procesie.
Ten błąd występuje na przykład, gdy zasada wyodrębniania zmiennych jest wykonywana w przepływie odpowiedzi i oczekuje zanalizowania ścieżki JSON, ale element <Source>
określa zmienną przepływu request.content
, która nie istnieje w przepływie odpowiedzi.
Diagnostyka
Określ zasadę wyodrębniania zmiennych, w której wystąpił błąd, oraz nazwę zmiennej przepływu, z której nie udało się wyodrębnić danych. Oba te elementy znajdziesz w elemencie faultstring odpowiedzi z informacją o błędzie. Na przykład w tym ciągu błędów nazwa zasady to
ExtractVariables-1
, a zmienna torequest.content
:"faultstring": "ExtractVariables ExtractJSONVariabes: Json path parsing failed for flow variables request.content"
W pliku XML zasady wyodrębniania zmiennych sprawdź, czy nazwa ustawiona w elemencie
<Source>
odpowiada nazwie zmiennej określonej w parametrze ciąg błędu (krok 1 powyżej). Na przykład ta polityka dotycząca zmiennych ekstrakcji określa zmienną o nazwierequest.content
, która pasuje do wartości w polu faultstring:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractJSONVariables" async="false" continueOnError="false" enabled="true"> <JSONPayload> <Variable name="Name" type="string"> <JSONPath>$.args.name</JSONPath> </Variable> </JSONPayload> <Source clearPayload="false">request.content</Source> </ExtractVariables>
Sprawdź, czy zmienna przepływu używana w elemencie
<Source>
jest zdefiniowana i dostępna w procesie, w którym wykonywana jest zasada Wyodrębnianie zmiennych.Jeśli zmienna to:
- poza zakresem (niedostępne w ramach konkretnego procesu, w którym są realizowane zasady) lub
- nie może zostać rozwiązana (nie jest zdefiniowana).
to jest przyczyną błędu.
Na przykład załóżmy, że pokazana powyżej zasada Extractvariables powinna być wykonywana w przepływie odpowiedzi. Pamiętaj, że zmienna przepływu
request.content
jest używana w elemencie<Source>
zasad Wyodrębnianie zmiennych. Zmienna przepływurequest.content
jest dostępna tylko w przepływie żądania.Zmienna
response
nie występuje w przepływie żądania, dlatego otrzymujesz kod błędu:steps.extractvariables.JsonPathParsingFailure
.
Rozdzielczość
Upewnij się, że zmienna przepływu używana w <Source>
elemencie wyodrębniania
Zasada dotycząca zmiennych jest dostępna w procesie, w którym zasada Wyodrębnianie zmiennych jest dostępna
.
Załóżmy na przykład, że w odpowiedzi istnieje zmienna o nazwie response.content
zawiera kod JSON, który chcesz wyodrębnić. Aby poprawić fragment
Jeśli korzystasz z powyższych zasad dotyczących zmiennych, możesz zmodyfikować element <Source>
w taki sposób:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractJSONVariables" async="false" continueOnError="false" enabled="true">
<JSONPayload>
<Variable name="Name" type="string">
<JSONPath>$.args.name</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">response.content</Source>
</ExtractVariables>