Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
SourceMessageNotAvailable
Hata kodu
steps.extractvariables.SourceMessageNotAvailable
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "[variable_name] message is not available for ExtractVariable: [policy_name]",
"detail": {
"errorcode": "steps.extractvariables.SourceMessageNotAvailable"
}
}
}
Neden
Bu hata, Değişkenleri Ayıklama politikasının <Source> öğesinde belirtilen message değişkeni şu durumlarda oluşur:
- kapsam dışı (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
- çözümlenemiyor (tanımlanmamış)
Örneğin, Değişkenleri Ayıkla politikası istek akışında yürütülürse ancak <Source> öğesi istek akışında bulunmayan response veya error değişkenine ayarlanırsa bu hata oluşur.
Teşhis
Hatayı içeren Değişkenleri Çıkarma politikasını ve kullanılamayan değişkenin adını belirleyin. Bu öğelerin ikisini de hata yanıtının
faultstringöğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde politika adıExtractVariables-1, değişken iseresponse'dir:"faultstring": "response message is not available for ExtractVariable: ExtractVariables-1"Başarısız olan Değişkenleri Çıkarma politikası XML'sinde, öğede ayarlanan değişken adının hata dizesinde tanımlanan değişken adıyla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki Değişkenleri Çıkar politikası, öğede
responseadlı bir değişken belirtir. Bu değişken, hata dizesindekiyle eşleşir:<ExtractVariables name="ExtractVariables-1"> <Source>response</Source> <URIPath> <Pattern ignoreCase="true">/a/{pathSeg}</Pattern> </URIPath> <VariablePrefix>urirequest</VariablePrefix> </ExtractVariables><Source>öğesinde kullanılan değişkenin, Değişkenleri Çıkar politikasının yürütüldüğü akışta tanımlanıp tanımlanmadığını ve kullanılabilir olup olmadığını belirleyin.Değişken şu durumlarda:
- kapsam dışı (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
- çözümlenemiyor (tanımlanmamış)
Bu durumda hatanın nedeni budur.
Örneğin, yukarıda gösterilen Değişkenleri Çıkar politikası istek akışında yürütülüyor olsun.
responsedeğişkeninin, Değişkenleri Çıkar politikasının<Source>öğesinde kullanıldığını hatırlayın.responsedeğişkeni yalnızca yanıt akışında kullanılabilir.responsedeğişkeni istek akışında mevcut olmadığındansteps.extractvariables.SourceMessageNotAvailablehata kodunu alırsınız.
Çözünürlük
Başarısız olan Değişkenleri Çıkar politikasının <Source> öğesinde ayarlanan değişkenin, politikanın yürütüldüğü akışta tanımlandığından ve mevcut olduğundan emin olun.
Yukarıda gösterilen örnek Değişkenleri Çıkarma politikasını düzeltmek için <Source> öğesini, istek akışında bulunduğu şekliyle request değişkenini kullanacak şekilde değiştirebilirsiniz:
<ExtractVariables name="ExtractVariables-1">
<Source>request</Source>
<URIPath>
<Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
</URIPath>
<VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>
SetVariableFailed
Hata kodu
steps.extractvariables.SetVariableFailed
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "Failed to set variable [variable_name] value [variable_value] from ExtractVariables: [policy_name]",
"detail": {
"errorcode": "steps.extractvariables.SetVariableFailed"
}
}
}
Neden
Değişkenleri Çıkar politikası değeri bir değişkene ayarlayamadıysa bu hata oluşur. Bu durum genellikle, adları iç içe nokta ile ayrılmış bir biçimde aynı kelimelerle başlayan birden fazla değişkene değer atamaya çalıştığınızda meydana gelir.
Örneğin, var.color değişkenine bir değer oluşturduğunuzu/atadığınızı varsayalım. Bu durumda, color bir nesne düğümü olarak ayrılır. Daha sonra başka bir değişkene var.color.next değer atamaya çalışırsanız color zaten ayrıldığı ve başka bir değişkenin ayrılmasına izin verilmediği için bu işlem başarısız olur.
Teşhis
Hatanın oluştuğu Değişkenleri Çıkar politikasını ve değeri ayarlanamayan değişkenin adını belirleyin. Bu öğelerin ikisini de hata yanıtının
faultstringöğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde politika adıExtractColors, değişken isevar.color.next'dir:"faultstring": "Failed to set variable var.color.next value red from ExtractVariables: ExtractColors"Başarısız olan Extract Variables (Değişkenleri Çıkar) politikası XML'sinde, değişken adının hata dizesinde (yukarıdaki 1. adım) tanımlanan değişken adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki politika bir istek sorgu parametresinden gelen değeri
var.color.nextadlı bir değişkene (hata dizesinde görünen değer) atamaya çalışır:<?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>Başarısız olan Değişkenleri Çıkar politikasında kullanılan tüm değişken adlarını inceleyin. Adı, hata dizesinde tanımlanan değişken adıyla (yukarıdaki 1. adım) aynı adla başlayan başka bir değişkene değer atadıysanız hatanın nedeni budur.
Yukarıda gösterilen örnek Değişkenleri Çıkarma politikasında şunlara dikkat edin:
coloradlı sorgu parametresinin değeri öncevar.coloradlı bir değişkene atanır(Not:var,<VariablePrefix>öğesinde ayarlanan tüm değişkenlerin önekidir).- Bir sonraki atamada,
nextcolorsorgu parametresinin değeri başka bir değişkene (var.color.next) atanır. var.colorzaten ayrıldığı için Değişkenleri Çıkarma politikası başka bir iç içe değişkenvar.color.nextayıramaz. Bu nedenle şu hata kodunu alırsınız:steps.extractvariables.SetVariableFailed
Çözünürlük
Adları aynı kelimelerle başlayan ve nokta ile ayrılmış biçimde iç içe yerleştirilmiş birden fazla değişken adınız olmadığından emin olun.
Yukarıda gösterilen Değişkenleri Çıkar politikasını düzeltmek için değişken adını
var.color.next, değişken adıvar.nextcolor.olarak değiştirebilirsiniz.<?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>
Daha Fazla Bilgi
Daha fazla bilgi için bu topluluk gönderisini inceleyin.
InvalidJSONPath
Hata kodu
steps.extractvariables.InvalidJSONPath
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "Invalid JSON path [path_name] in policy [policy_name].",
"detail": {
"errorcode": "steps.extractvariables.InvalidJSONPath"
}
}
}
Neden
Bu hata, Değişkenleri Çıkarma politikasının <JSONPath> öğesinde geçersiz bir JSON yolu kullanıldığında oluşur. Örneğin, bir JSON yükünde Name nesnesi yoksa ancak Değişkenleri Çıkar politikasında yol olarak Name belirtirseniz bu hata oluşur.
Teşhis
Hatanın oluştuğu Değişkenleri Çıkar politikasını ve geçersiz JSON yolunu belirleyin. Bu öğelerin ikisini de hata yanıtının
faultstringöğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde politika adıExtractJSONVariables, geçersiz JSON yolu ise$.Name'dir:"faultstring": "Invalid JSON path $.Name in policy ExtractJSONVariables."Başarısız olan Extract Variables politikası XML'sinde,
<JSONPath>öğesinde ayarlanan JSON yolunun hata dizesinde tanımlanan yolla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki Değişkenleri Çıkar politikası, hata dizesindekiyle eşleşen$.NameJSON yolunu belirtir:<?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><Source>öğesini inceleyin ve değişkeni hangi JSON yükünden çıkarmaya çalıştığınızı belirleyin. Örneğin,<Source>öğesirequestolarak ayarlanırsa politika, JSON yükünü istek nesnesinden çıkarır.responseolarak ayarlanırsa yanıt nesnesi olur.Yukarıda gösterilen örnek Değişkenleri Ayıkla politikasında
<Source>öğesiresponseolarak ayarlanmıştır. Bu nedenle, değişkenler yanıtın JSON yükünden ayıklanır.<Source>response</Source>Uygun JSON yükünü (3. adımda belirlenir) inceleyin ve
<JSONPath>öğesinde belirtilen nesnenin yükte olup olmadığını doğrulayın. JSON yükünde bu nesne yoksa hatanın nedeni budur.Örneğin, aşağıdaki JSON yanıtı yükünden değişkenleri ayıklamaya çalıştığınızı düşünün:
{ "firstName":"John", "lastName":"Doe", "city":"San Jose", "state":"CA" }JSON yanıtı yükünde
Namenesnesi olmadığından Değişkenleri Çıkarma politikası,steps.extractvariables.InvalidJSONPathhata koduyla başarısız olur.
Çözünürlük
Değişkenlerin çıkarıldığı JSON yükünün bir parçası olan nesnelerin yalnızca Değişkenleri Çıkar politikasının
<JSONPath>öğesinde belirtildiğinden emin olun.Yukarıda gösterilen örnek Değişkenleri Çıkar politikasını düzeltmek için
<JSONPath>öğesini değiştirerek örnek JSON yanıtı Yükü'nde bulunan nesnelerden birini belirtebilirsiniz (örneğin,firstNamevelastNamenesneleri geçerlidir):<?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
Hata kodu
steps.extractvariables.ExecutionFailed
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "Failed to execute the ExtractVariables: [policy_name]",
"detail": {
"errorcode": "steps.extractvariables.ExecutionFailed"
}
}
}
Olası nedenler
Bu hatanın olası nedenleri şunlardır:
| Neden | Açıklama |
| Eksik giriş yükü | Giriş yükü (JSON, XML) boş. |
| Geçersiz veya Hatalı Giriş (Invalid or Malformed Input) | Politikaya iletilen giriş (JSON, XML vb.) geçersiz veya hatalı biçimlendirilmiş. |
Neden: Giriş yükü eksik
Değişkenleri ayıklama politikası, değişkenleri bir JSON veya XML yükünden ayıklaması gerekirken <Source> öğesinde belirtilen değişkenin içeriği (yük) boşsa bu hata oluşur.
Örneğin, Değişkenleri Çıkar politikasındaki <Source> öğesi request veya response olarak ayarlanmışsa ve JSON ya da XML yükü içermesi gerekiyorsa ancak yük boşsa hata oluşur.
Teşhis
Hatayı içeren Değişkenleri Çıkarma politikasını belirleyin. Bu bilgileri hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde politika adı
ExtractJSONVariables'dır:"faultstring": "Failed to execute the ExtractVariables: ExtractXMLVariables"Başarısız olan Değişkenleri Çıkar XML'sindeki
<Source>öğesini inceleyin ve değişkenlerin çıkarıldığı giriş türünü belirleyin. Örneğin, aşağıdaki Değişkenleri Çıkar politikası,<Source>öğesiresponseolarak ayarlanmış ve değişkenleri XML yükünden çıkarıyor:<?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>Değişkenleri Ayıklama politikası tarafından ayrıştırılan girişin boş olup olmadığını kontrol edin. Giriş boşsa hatanın nedeni budur.
Yukarıda gösterilen örnek Değişkenleri Ayıkla politikasında, arka uç sunucusu tarafından gönderilen yanıt yükü (yani yanıt gövdesi) boştu.
XML yanıtı yükü boş olduğundan şu hata kodunu alırsınız:
steps.extractvariables.ExecutionFailedBu hata,
<Source>öğesirequestolarak ayarlanmışsa ancak API proxy isteğinde yük geçirilmemişse de oluşabilir. Örneğin:curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/xml"Değişkenleri Ayıkla politikası, yalnızca mesajın
Content-Typebaşlığıapplication/xml,text/xmlveyaapplication/*+xmlolduğunda XML ayıklama işlemi gerçekleştirir. Değişkenleri Ayıkla politikasının bir XML isteği yükünü ayrıştırmasını istiyorsanız Content-Type üstbilgisiniapplication/xml,text/xmlveyaapplication/*+xmlolarak iletmeniz gerekir.
Çözünürlük
Değişkenleri Ayıkla politikasına iletilen girişin geçerli ve boş olmadığından emin olun.
Yukarıda gösterilen örnek Değişkenleri Çıkarma politikasıyla ilgili sorunu düzeltmek için geçerli bir XML yükü iletin. Örneğin:
Aşağıdaki içeriğe sahip
city.xmladlı bir dosya oluşturun:<city>Bengaluru</city> <area>Sanjaynagar</area>Aşağıdaki gibi bir cURL komutu kullanarak API çağrısı yapın:
curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/xml" -X POST -d @city.xml
Neden: Geçersiz veya Hatalı Giriş
Değişkenleri Ayıkla politikası, geçersiz veya hatalı biçimlendirilmiş girişi ayrıştırırsa bu hatayı alırsınız.
Örneğin, Değişkenleri Çıkar politikasında giriş olarak aşağıdaki geçersiz JSON sağlanırsa bu hatayı alırsınız.
[
"args": ["name" : "amar" ]
]
Teşhis
Hatayı içeren Değişkenleri Çıkarma politikasını belirleyin. Bu bilgileri hata yanıtının
faultstringöğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstringiçinde politika adıExtractJSONVariables'dir:"faultstring": "Failed to execute the ExtractVariables: ExtractJSONVariables"Başarısız olan Değişkenleri Çıkar XML'sindeki
<Source>öğesini inceleyin ve değişkenlerin çıkarıldığı giriş türünü belirleyin. Örneğin, aşağıdaki Değişkenleri Çıkarma politikası,<Source>öğesinirequestolarak ayarlamış ve değişkenleri JSON yükünden çıkarıyor:<?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>Değişkenleri Ayıkla politikası tarafından ayrıştırılan girişin geçerli olup olmadığını kontrol edin. Giriş geçersizse veya hatalı biçimlendirilmişse hatanın nedeni budur.
Yukarıda gösterilen örnek Değişkenleri Çıkarma politikasında, Değişkenleri Çıkarma politikasına aşağıdaki geçersiz JSON iletilmiştir.
[ "args": ["name" : "amar" ] ]İsteğin nasıl iletildiğini gösteren örnek API çağrısını aşağıda bulabilirsiniz:
curl -v "http://<org>-<env>.apigee.net/v1/testevexecutionfailed" -H "Content-Type: application/json" -X POST -d '[ "args" : ["name" : "amar" ]]'API'ye iletilen JSON yükü, köşeli parantez (
[ ]) içeren bir dizi içerdiğinden geçersizdir. Bu nedenle şu hata kodunu alırsınız:steps.extractvariables.ExecutionFailedBu hata,
<Source>öğesiresponseolarak ayarlanmışsa ancak JSON yanıt yükü geçersiz veya hatalı biçimlendirilmişse de oluşabilir.
Çözünürlük
Değişkenleri Ayıkla politikasına iletilen girişin geçerli ve hatalı biçimlendirilmemiş olduğundan emin olun.
Yukarıda bahsedilen örnek Değişkenleri Çıkarma politikasıyla ilgili sorunu düzeltmek için geçerli bir JSON yükü isteğini aşağıdaki gibi iletin:
{
"args":{
"name":"amar"
}
}
UnableToCast
Hata kodu
steps.extractvariables.UnableToCast
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "Unable to cast value [value] as [type].",
"detail": {
"errorcode": "steps.extractvariables.UnableToCast"
}
}
}
Neden
Bu hata, Değişkenleri Çıkar politikası çıkarılan değeri değişkene dönüştüremediğinde oluşur. Bu durum genellikle bir veri türünün değerini başka bir veri türünün değişkenine ayarlamaya çalıştığınızda meydana gelir.
Örneğin, Değişkeni Çıkar politikası bir dize değişkeninden çıkarılan bir değeri bir tam sayı değişkenine ayarlamaya çalışırsa bu hatayı görürsünüz.
Teşhis
Değişkenleri Ayıkla politikasının yayınlamaya çalıştığı ve başarısız olduğu değişkenin veri türünü belirleyin. Bu bilgileri hata yanıtının
faultstringöğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstringiçinde nesne türüBOOLEAN'dir:"faultstring":"Unable to cast value 36.231 as BOOLEAN."Değeri 1. adımda belirlenen türdeki bir değişkene ayarlamaya çalıştığınız Extract Variables (Değişkenleri Çıkarma) politikasını belirleyin.
Örneğin, aşağıdaki Değişkenleri Ayıkla politikası, bir JSONPath
$.latitudedeğerini, hata dizesindekiyle eşleşenbooleantüründe bir değişkene ayıklar:<?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>Ayıklanan değerin veri türünü inceleyin. Veriler; başlıklar, URI yolları, JSON/XML yükleri, form parametreleri ve sorgu parametreleri biçiminde olabilir.
3. adımda belirlenen veri türü ile verilerin atandığı değişkenin veri türünün (2. adımda belirlenir) aynı olup olmadığını doğrulayın.
Kaynak ve hedef değişkenlerin veri türü aynı değilse hatanın nedeni budur.
Yukarıda gösterilen örnek Değişkenleri Ayıklama politikasında, JSON isteği yükünün aşağıdaki gibi olduğunu varsayalım:
{ "latitude":36.2312 }<JSONPath>,‘$.latitude’öğesinden çıkarılan değerin veri türü, Boole veri türündeki bir değişkene atanan bir tam sayıdır.Ayıklanan değerin veri türü ile değerin atandığı değişkenin veri türü aynı olmadığından şu hata kodunu alırsınız:
steps.extractvariables.UnableToCast.
Çözünürlük
Çıkarılan değerin veri türü ile içeriğin atandığı değişkenin veri türünün aynı olduğundan emin olun.
Örnek Extract Variables politikasını düzeltmek için değişkenin türünü Integer olarak değiştirmeniz gerekir:
<?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
Hata kodu
steps.extractvariables.JsonPathParsingFailure
Hata yanıtı gövdesi
{
"fault": {
"faultstring": "ExtractVariables [policy_name]: Json path parsing failed for flow variables [variable_name]",
"detail": {
"errorcode": "steps.extractvariables.JsonPathParsingFailure"
}
}
}
Neden
Bu hata, Değişkenleri Çıkar politikası bir JSON yolunu ayrıştıramadığında ve <Source> öğesinde belirtilen akış değişkeninden veri çıkaramadığında oluşur. Bu durum genellikle <Source> öğesinde belirtilen akış değişkeni mevcut akışta yoksa ortaya çıkar.
Örneğin, Değişkenleri Ayıklama politikası yanıt akışında yürütülürken ve bir JSON yolunu ayrıştırması beklenirken <Source> öğesi, yanıt akışında bulunmayan request.content akış değişkenini belirtirse bu hata oluşur.
Teşhis
Hatanın oluştuğu Değişkenleri Çıkar politikasını ve verilerin çıkarılamadığı akış değişkeninin adını belirleyin. Bu öğelerin ikisini de hata yanıtının faultstring öğesinde bulabilirsiniz. Örneğin, aşağıdaki hata dizesinde politika adı
ExtractVariables-1, değişken iserequest.content'dir:"faultstring": "ExtractVariables ExtractJSONVariabes: Json path parsing failed for flow variables request.content"Başarısız olan Extract Variables (Değişkenleri Çıkarma) politikası XML'sinde,
<Source>öğesinde ayarlanan değişken adının, hata dizesinde (yukarıdaki 1. adım) tanımlanan değişken adıyla eşleştiğini doğrulayın. Örneğin, aşağıdaki Değişkenleri Ayıkla politikası, hata dizesindekiyle eşleşenrequest.contentadlı bir değişkeni belirtir:<?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><Source>öğesinde kullanılan akış değişkeninin, Değişkenleri Çıkar politikasının yürütüldüğü akışta tanımlanıp tanımlanmadığını ve kullanılabilir olup olmadığını doğrulayın.Değişken şu durumlarda:
- kapsam dışı (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
- çözümlenemiyor (tanımlanmamış)
Bu durumda hatanın nedeni budur.
Örneğin, yukarıda gösterilen ExtractVariables politikasının yanıt akışında yürütülmesi gerektiğini varsayalım. Akış değişkeni
request.content, Değişkenleri Çıkar politikasının<Source>öğesinde kullanılır. Akış değişkenirequest.contentyalnızca istek akışında kullanılabilir.responsedeğişkeni istek akışında mevcut olmadığındansteps.extractvariables.JsonPathParsingFailurehata kodunu alırsınız.
Çözünürlük
Değişkenleri Çıkarma politikasının <Source> öğesinde kullanılan akış değişkeninin, Değişkenleri Çıkarma politikasının yürütüldüğü akışta kullanılabilir olduğundan emin olun.
Örneğin, yanıttaki akışta response.content adlı bir değişkenin bulunduğunu ve bu değişkenin, ayıklamak istediğiniz JSON'u içerdiğini varsayalım. Yukarıda gösterilen ExtractVariables politikasını düzeltmek için <Source> öğesini aşağıdaki şekilde değiştirebilirsiniz:
<?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>