Pemecahan masalah error runtime Extract Variables

Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.

SourceMessageNotAvailable

Kode error

steps.extractvariables.SourceMessageNotAvailable

Isi respons error

{
  "fault": {
      "faultstring": "[variable_name] message is not available for ExtractVariable: [policy_name]",
      "detail": {
          "errorcode": "steps.extractvariables.SourceMessageNotAvailable"
      }
  }
}

Penyebab

Error ini terjadi jika variabel message yang ditentukan dalam elemen<Source> kebijakan Extract Variables adalah:

  • di luar cakupan (tidak tersedia dalam alur tertentu tempat kebijakan dijalankan) atau
  • tidak dapat diselesaikan (tidak ditentukan)

Misalnya, error ini terjadi jika kebijakan Ekstrak Variabel dijalankan dalam alur permintaan, tetapi elemen <Source> ditetapkan ke variabel response atau error, yang tidak ada dalam alur permintaan.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat error terjadi dan nama variabel yang tidak tersedia. Anda dapat menemukan kedua item ini di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama kebijakan adalah ExtractVariables-1 dan variabelnya adalah response:

    "faultstring": "response message is not available for ExtractVariable: ExtractVariables-1"

  2. Dalam XML kebijakan Extract Variables yang gagal, pastikan nama variabel yang ditetapkan dalam elemen cocok dengan nama variabel yang diidentifikasi dalam string error (langkah #1 di atas). Misalnya, kebijakan Extract Variables berikut menentukan variabel bernama response dalam elemen, yang cocok dengan yang ada dalam string error:

    <ExtractVariables name="ExtractVariables-1">
        <Source>response</Source>
        <URIPath>
            <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
        </URIPath>
        <VariablePrefix>urirequest</VariablePrefix>
    </ExtractVariables>
    
  3. Tentukan apakah variabel yang digunakan dalam elemen <Source> ditentukan dan tersedia dalam alur tempat kebijakan Ekstrak Variabel dijalankan.

  4. Jika variabel adalah:

    • di luar cakupan (tidak tersedia dalam alur tertentu tempat kebijakan dijalankan) atau
    • tidak dapat diselesaikan (tidak ditentukan)

    maka itulah penyebab error.

    Sebagai contoh, misalkan kebijakan Ekstrak Variabel yang ditampilkan di atas dijalankan dalam alur permintaan. Ingat bahwa variabel response digunakan dalam elemen <Source> kebijakan Extract Variables. Variabel response hanya tersedia dalam alur respons.

    Karena variabel response tidak ada dalam alur permintaan, Anda akan menerima kode error: steps.extractvariables.SourceMessageNotAvailable.

Resolusi

Pastikan variabel yang ditetapkan di elemen <Source> kebijakan Extract Variables yang gagal, ditentukan dan ada dalam alur tempat kebijakan dieksekusi.

Untuk memperbaiki contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, Anda dapat mengubah elemen <Source> untuk menggunakan variabel request seperti yang ada dalam alur permintaan:

<ExtractVariables name="ExtractVariables-1">
    <Source>request</Source>
    <URIPath>
        <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
    </URIPath>
    <VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>

SetVariableFailed

Kode error

steps.extractvariables.SetVariableFailed

Isi respons error

{
    "fault": {
        "faultstring": "Failed to set variable [variable_name] value [variable_value] from ExtractVariables: [policy_name]",
        "detail": {
            "errorcode": "steps.extractvariables.SetVariableFailed"
        }
    }
}

Penyebab

Error ini terjadi jika kebijakan Ekstrak Variabel tidak dapat menetapkan nilai ke variabel. Hal ini biasanya terjadi jika Anda mencoba menetapkan nilai ke beberapa variabel yang namanya diawali dengan kata yang sama dalam format bertingkat yang dipisahkan titik.

Misalnya, Anda membuat/menetapkan nilai ke variabel var.color. Dalam hal ini, color dialokasikan sebagai node objek. Jika Anda kemudian mencoba menetapkan nilai ke variabel lain var.color.next, tindakan ini akan gagal karena color sudah dialokasikan, dan tidak diizinkan untuk mengalokasikan variabel lain ke variabel tersebut.

Diagnosis

  1. Identifikasi kebijakan Extract Variables tempat error terjadi dan nama variabel yang nilainya tidak dapat ditetapkan. Anda dapat menemukan kedua item ini di elemen faultstring respons error. Misalnya, dalam string error berikut, nama kebijakan adalah ExtractColors dan variabelnya adalah var.color.next:

    "faultstring": "Failed to set variable var.color.next value red from ExtractVariables: ExtractColors"

  2. Dalam XML kebijakan Extract Variables yang gagal, pastikan nama variabel cocok dengan nama variabel yang diidentifikasi dalam string error (langkah #1 di atas). Misalnya, kebijakan berikut mencoba menetapkan nilai dari parameter kueri permintaan ke variabel bernama var.color.next (nilai yang muncul string error):

    <?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>
    
  3. Periksa semua nama variabel yang digunakan dalam kebijakan Extract Variables yang gagal. Jika Anda telah menetapkan nilai ke variabel lain yang namanya diawali dengan nama yang sama dengan nama variabel yang diidentifikasi dalam string error (langkah #1 di atas), maka itulah penyebab error.

    Pada contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, perhatikan bahwa:

    • Nilai parameter kueri bernama color pertama kali ditetapkan ke variabel var.color (Catatan: var adalah awalan untuk semua variabel seperti yang ditetapkan dalam elemen <VariablePrefix>)
    • Pada penetapan berikutnya, nilai parameter kueri nextcolor ditetapkan ke variabel lain var.color.next.
    • Karena var.color sudah dialokasikan, kebijakan Ekstrak Variabel tidak dapat mengalokasikan variabel bertingkat var.color.next lainnya. Jadi, Anda menerima kode error: steps.extractvariables.SetVariableFailed

Resolusi

Pastikan Anda tidak memiliki beberapa nama variabel yang namanya dimulai dengan kata yang sama yang disusun bertingkat dalam format yang dipisahkan titik.

Untuk memperbaiki kebijakan Extract Variables yang ditampilkan di atas, Anda dapat mengubah nama variabel var.color.next untuk menggunakan nama variabel var.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>

Informasi Selengkapnya

Untuk mengetahui detail selengkapnya, lihat postingan komunitas ini.

InvalidJSONPath

Kode error

steps.extractvariables.InvalidJSONPath

Isi respons error

{
    "fault": {
        "faultstring": "Invalid JSON path [path_name] in policy [policy_name].",
        "detail": {
            "errorcode": "steps.extractvariables.InvalidJSONPath"
        }
    }
}

Penyebab

Error ini terjadi jika jalur JSON yang tidak valid digunakan di elemen <JSONPath> dalam kebijakan Ekstrak Variabel. Misalnya, jika payload JSON tidak memiliki objek Name, tetapi Anda menentukan Name sebagai jalur dalam kebijakan Ekstrak Variabel, error ini akan terjadi.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat error terjadi dan jalur JSON yang tidak valid. Anda dapat menemukan kedua item ini di elemen faultstring respons error. Misalnya, dalam string error berikut, nama kebijakan adalah ExtractJSONVariables dan jalur JSON yang tidak valid adalah $.Name:

    "faultstring": "Invalid JSON path $.Name in policy ExtractJSONVariables."

  2. Dalam XML kebijakan Extract Variables yang gagal, pastikan jalur JSON yang ditetapkan di elemen <JSONPath> cocok dengan jalur yang diidentifikasi dalam string error (langkah #1 di atas). Misalnya, kebijakan Extract Variables berikut menentukan jalur JSON $.Name, yang cocok dengan yang ada dalam string error:

    <?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>
    
  3. Periksa elemen <Source> dan tentukan dari Payload JSON mana Anda mencoba mengekstrak variabel. Misalnya, jika elemen <Source> ditetapkan ke request, kebijakan akan mengekstrak payload JSON dari objek permintaan. Jika ditetapkan ke response, nilai tersebut akan menjadi objek respons.

    Dalam contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, elemen <Source> ditetapkan ke response, sehingga variabel diekstrak dari payload JSON respons.

    <Source>response</Source>

  4. Periksa payload JSON yang sesuai (ditentukan dari langkah #3) dan validasikan apakah payload tersebut memiliki objek yang ditentukan dalam elemen <JSONPath>. Jika payload JSON tidak memiliki objek tersebut, hal itulah yang menyebabkan error.

    Sebagai contoh, anggaplah Anda mencoba mengekstrak variabel dari payload respons JSON berikut:

    {
      "firstName":"John",
      "lastName":"Doe",
      "city":"San Jose",
      "state":"CA"
    }
    

    Karena payload respons JSON tidak memiliki objek Name, kebijakan Ekstrak Variabel akan gagal dengan error yang Anda terima kode error: steps.extractvariables.InvalidJSONPath.

Resolusi

Pastikan hanya objek yang merupakan bagian dari Payload JSON tempat variabel diekstrak yang ditentukan dalam elemen <JSONPath> kebijakan Ekstrak Variabel.

Untuk memperbaiki contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, Anda dapat mengubah elemen <JSONPath> untuk menentukan salah satu objek yang tersedia dalam Payload respons JSON contoh (misalnya, objek firstName dan lastName valid):

<?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

Kode error

steps.extractvariables.ExecutionFailed

Isi respons error

{
    "fault": {
        "faultstring": "Failed to execute the ExtractVariables: [policy_name]",
        "detail": {
            "errorcode": "steps.extractvariables.ExecutionFailed"
        }
    }
}

Kemungkinan penyebab

Kemungkinan penyebab error ini adalah:

Penyebab Deskripsi
Payload input tidak ada Payload input (JSON, XML) kosong.
Input Tidak Valid atau Salah Format Input (JSON, XML, dll.) yang diteruskan ke kebijakan tidak valid atau salah format.

Penyebab: Payload input tidak ada

Jika kebijakan Extract Variables seharusnya mengekstrak variabel dari payload JSON atau XML, tetapi konten (payload) variabel yang ditentukan dalam elemen <Source> kosong, error ini akan terjadi.

Misalnya, jika elemen <Source> dalam kebijakan Ekstrak Variabel ditetapkan sebagai request atau response dan seharusnya berisi payload JSON atau XML, tetapi payload tersebut kosong, error akan terjadi.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat error terjadi. Anda dapat menemukan informasi ini di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama kebijakannya adalah ExtractJSONVariables:

    "faultstring": "Failed to execute the ExtractVariables: ExtractXMLVariables"

  2. Periksa elemen <Source> dalam XML Ekstrak Variabel yang gagal dan tentukan jenis input tempat variabel diekstrak. Misalnya, kebijakan Ekstrak Variabel berikut memiliki elemen <Source> yang ditetapkan ke response dan mengekstrak variabel dari payload 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>
    
    
  3. Periksa apakah input yang sedang diuraikan oleh kebijakan Ekstrak Variabel kosong. Jika input kosong, itulah penyebab error.

    Dalam contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, payload respons (yaitu isi respons) yang dikirim oleh server backend kosong.

    Karena payload respons XML kosong, Anda akan menerima kode error:

    steps.extractvariables.ExecutionFailed

    Error ini juga dapat terjadi jika elemen <Source> disetel ke request, tetapi tidak ada payload yang diteruskan dalam permintaan proxy API. Contoh:

    curl -v "http://$EXTERNAL_IP/v1/testevexecutionfailed" -H "Content-Type: application/xml"
    

    Dengan $EXTERNAL_IP adalah alamat IP load balancer eksternal. Alamat IP ini terekspos ke internet. Untuk informasi selengkapnya, lihat Menyesuaikan pemilihan rute akses.

    Kebijakan Ekstrak Variabel hanya melakukan ekstraksi XML jika header Content-Type pesan adalah application/xml, text/xml, atau application/*+xml. Anda harus meneruskan header Content-Type sebagai application/xml, text/xml, atau application/*+xml jika ingin kebijakan Extract Variables mengurai payload permintaan XML.

Resolusi

Pastikan input yang diteruskan ke kebijakan Extract Variables valid dan tidak kosong.

Untuk memperbaiki masalah pada contoh kebijakan Extract Variables yang ditampilkan di atas, teruskan payload XML yang valid. Contoh:

  1. Buat file bernama city.xml dengan konten berikut:

    <city>Bengaluru</city>
    <area>Sanjaynagar</area>
    
  2. Lakukan panggilan API menggunakan perintah cURL sebagai berikut:

    curl -v "http://$EXTERNAL_IP/v1/testevexecutionfailed" -H "Content-Type: application/xml" -X POST -d @city.xml
    
    

    Dengan $EXTERNAL_IP adalah alamat IP load balancer eksternal. Alamat IP ini terekspos ke internet. Untuk informasi selengkapnya, lihat Menyesuaikan pemilihan rute akses.

Penyebab: Input Tidak Valid atau Salah Format

Jika kebijakan Ekstrak Variabel mengurai input yang tidak valid atau salah format, Anda akan mendapatkan error ini.

Misalnya, jika JSON tidak valid berikut diberikan sebagai input ke kebijakan Ekstrak Variabel, Anda akan mendapatkan error ini.

[
    "args": ["name" : "amar" ]
]

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat error terjadi. Anda dapat menemukan informasi ini di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama kebijakannya adalah ExtractJSONVariables:

    "faultstring": "Failed to execute the ExtractVariables: ExtractJSONVariables"

  2. Periksa elemen <Source> dalam XML Ekstrak Variabel yang gagal dan tentukan jenis input tempat variabel diekstrak. Misalnya, kebijakan Ekstrak Variabel berikut memiliki elemen <Source> yang ditetapkan ke request dan mengekstrak variabel dari payload 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>
    
    
  3. Periksa apakah input yang diuraikan oleh kebijakan Ekstrak Variabel valid. Jika input tidak valid atau salah format, hal itu adalah penyebab error.

    Dalam contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, JSON tidak valid berikut diteruskan ke kebijakan Ekstrak Variabel

    [
        "args": ["name" : "amar" ]
    ]
    

    Berikut adalah contoh panggilan API yang menunjukkan cara permintaan diteruskan:

    curl -v "http://<$EXTERNAL_IP/v1/testevexecutionfailed" -H "Content-Type: application/json" -X POST -d '[ "args" : ["name" : "amar" ]]'
    

    Dengan $EXTERNAL_IP adalah alamat IP load balancer eksternal. Alamat IP ini terekspos ke internet. Untuk informasi selengkapnya, lihat Menyesuaikan pemilihan rute akses.

    Payload JSON yang diteruskan ke API tidak valid karena berisi array dengan tanda kurung siku ([ ]) , sehingga Anda menerima kode error:

    steps.extractvariables.ExecutionFailed
    

    Error ini juga dapat terjadi jika elemen <Source> ditetapkan ke response, tetapi payload respons JSON tidak valid atau salah format.

Resolusi

Pastikan input yang diteruskan ke kebijakan Ekstrak Variabel valid dan tidak salah format.

Untuk memperbaiki masalah pada contoh kebijakan Extract Variables yang dibahas di atas, teruskan permintaan payload JSON yang valid sebagai berikut:

{
   "args":{
      "name":"amar"
   }
}

UnableToCast

Kode error

steps.extractvariables.UnableToCast

Isi respons error

{
    "fault": {
        "faultstring": "Unable to cast value [value] as [type].",
        "detail": {
            "errorcode": "steps.extractvariables.UnableToCast"
        }
    }
}

Penyebab

Error ini terjadi jika kebijakan Extract Variables tidak dapat mentransmisikan nilai yang diekstrak ke variabel. Biasanya hal ini terjadi jika Anda mencoba menetapkan nilai satu jenis data ke variabel jenis data lain.

Misalnya, jika kebijakan Ekstrak Variabel mencoba menetapkan nilai yang telah diekstrak dari variabel String ke variabel Bilangan Bulat, Anda akan melihat error ini.

Diagnosis

  1. Identifikasi jenis data variabel yang dicoba ditransmisikan oleh kebijakan Ekstrak Variabel dan gagal. Anda dapat menemukan informasi ini di elemen faultstring respons error. Misalnya, dalam faultstring berikut, jenis objeknya adalah BOOLEAN:

    "faultstring":"Unable to cast value 36.231 as BOOLEAN."

  2. Identifikasi kebijakan Ekstrak Variabel tempat Anda mencoba menetapkan nilai ke variabel jenis yang ditentukan pada langkah #1.

    Misalnya, kebijakan Extract Variables berikut mengekstrak nilai dari JSONPath $.latitude ke variabel jenis boolean, yang cocok dengan yang ada dalam string error:

    <?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>
    
    
  3. Periksa jenis data nilai yang diekstrak. Data dapat berupa header, jalur URI, payload JSON/XML, parameter formulir, dan parameter kueri.

  4. Verifikasi apakah jenis data yang ditentukan pada langkah #3 dan jenis data variabel yang datanya ditetapkan (ditentukan pada langkah #2) sama.

  5. Jika jenis data variabel sumber dan tujuan tidak sama, hal itulah yang menyebabkan error.

    Pada contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, pertimbangkan payload permintaan JSON sebagai berikut:

    {
     "latitude":36.2312
    }
    

    Jenis data nilai yang diekstrak dari <JSONPath>, '$.latitude', adalah Bilangan Bulat, yang ditetapkan ke variabel jenis data boolean.

    Karena jenis data nilai yang diekstrak dan jenis data variabel tempat nilai ditetapkan tidak sama, Anda akan menerima kode error: steps.extractvariables.UnableToCast.

Resolusi

Pastikan jenis data nilai yang diekstrak dan variabel tempat konten ditetapkan memiliki jenis yang sama.

Untuk memperbaiki contoh kebijakan Ekstrak Variabel, Anda harus mengubah jenis variabel menjadi Bilangan Bulat:

<?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

Kode error

steps.extractvariables.JsonPathParsingFailure

Isi respons error

{
    "fault": {
        "faultstring": "ExtractVariables [policy_name]: Json path parsing failed for for flow variables [variable_name]",
        "detail": {
            "errorcode": "steps.extractvariables.JsonPathParsingFailure"
        }
    }
}

Penyebab

Error ini terjadi saat kebijakan Ekstrak Variabel tidak dapat mengurai jalur JSON dan mengekstrak data dari variabel alur yang ditentukan dalam elemen <Source>. Biasanya hal ini terjadi jika variabel alur yang ditentukan dalam elemen <Source> tidak ada dalam alur saat ini.

Misalnya, error ini terjadi jika kebijakan Extract Variables dieksekusi dalam alur respons dan diharapkan mengurai jalur JSON, tetapi elemen <Source> menentukan variabel alur request.content, yang tidak ada dalam alur respons.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat error terjadi dan nama variabel alur tempat data tidak dapat diekstrak. Anda dapat menemukan kedua item ini di elemen faultstring respons error. Misalnya, dalam faultstring berikut, nama kebijakan adalah ExtractVariables-1 dan variabelnya adalah request.content:

    "faultstring": "ExtractVariables ExtractJSONVariabes: Json path parsing failed for for flow variables request.content"

  2. Dalam XML kebijakan Extract Variables yang gagal, pastikan nama variabel yang ditetapkan di elemen <Source> cocok dengan nama variabel yang diidentifikasi dalam string error (langkah #1 di atas). Misalnya, kebijakan Ekstrak Variabel berikut menentukan variabel bernama request.content, yang cocok dengan yang ada dalam 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>
    
    
  3. Validasi apakah variabel alur yang digunakan dalam elemen <Source> ditentukan dan tersedia dalam alur tempat kebijakan Ekstrak Variabel dijalankan.

  4. Jika variabel adalah:

    • di luar cakupan (tidak tersedia dalam alur tertentu tempat kebijakan dijalankan) atau
    • tidak dapat diselesaikan (tidak ditentukan)

    maka itulah penyebab error.

    Sebagai contoh, misalkan kebijakan ExtractVariables yang ditampilkan di atas seharusnya dijalankan dalam alur respons. Ingat bahwa variabel alur request.content digunakan dalam elemen <Source> dari kebijakan Extract Variables. Variabel alur request.content hanya tersedia dalam alur permintaan.

    Karena variabel response tidak ada dalam alur permintaan, Anda akan menerima kode error: steps.extractvariables.JsonPathParsingFailure.

Resolusi

Pastikan variabel alur yang digunakan dalam elemen <Source> kebijakan Extract Variations tersedia dalam alur tempat kebijakan Extract Variations dijalankan.

Misalnya, asumsikan bahwa variabel bernama response.content ada dalam alur respons dan sebenarnya berisi JSON yang ingin Anda ekstrak. Untuk memperbaiki kebijakan Ekstrak Variabel yang ditampilkan di atas, Anda dapat mengubah elemen <Source> sebagai berikut:

<?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>