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> pada 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 Extract Variables dijalankan dalam alur permintaan, tetapi elemen <Source> ditetapkan ke variabel response atau error yang tidak ada dalam alur permintaan.

Diagnosis

  1. Identifikasi kebijakan Extract Variables tempat terjadinya error dan nama variabel yang tidak tersedia. Anda dapat menemukan kedua item ini di elemen faultstring dalam 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 kesalahan (langkah #1 di atas). Misalnya, kebijakan Extract Variables berikut menentukan variabel bernama response dalam elemen, yang cocok dengan yang ada dalam string kesalahan:

    <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 variabelnya 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 Extract Variables yang ditampilkan di atas dijalankan dalam alur request. 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 set variabel dalam elemen <Source> dari kebijakan Extract Variables yang gagal, ditentukan dan ada dalam alur tempat kebijakan dijalankan.

Untuk memperbaiki contoh kebijakan Ekstrak Variabel yang ditampilkan di atas, Anda dapat mengubah elemen <Source> untuk menggunakan variabel request sebagaimana adanya 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 Extract Variables tidak dapat menetapkan nilai ke variabel. Error ini umumnya terjadi jika Anda mencoba menetapkan nilai ke beberapa variabel yang namanya dimulai dengan kata yang sama dalam format bertitik yang bertingkat.

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 tersebut akan gagal karena color sudah dialokasikan, dan tidak diizinkan untuk mengalokasikan variabel lain ke variabel tersebut.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat terjadinya error dan nama variabel yang nilainya tidak dapat ditetapkan. Anda dapat menemukan kedua item ini di elemen faultstring dalam respons error. Misalnya, dalam string kesalahan 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 kesalahan (langkah #1 di atas). Misalnya, kebijakan berikut mencoba menetapkan nilai dari parameter kueri permintaan ke variabel bernama var.color.next (nilai yang muncul di string kesalahan):

    <?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 dimulai dengan nama yang sama seperti nama variabel yang diidentifikasi dalam string kesalahan (langkah #1 di atas), maka itulah penyebab errornya.

    Dalam contoh kebijakan Extract Variables yang ditunjukkan di atas, perhatikan bahwa:

    • Nilai parameter kueri bernama color pertama-tama ditetapkan ke variabel var.color (Catatan: var adalah awalan untuk semua variabel seperti yang ditetapkan dalam elemen <VariablePrefix>)
    • Dalam penetapan berikutnya, nilai parameter kueri nextcolor ditetapkan ke variabel var.color.next lainnya.
    • Karena var.color sudah dialokasikan, kebijakan Extract Variables 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 dalam format yang dipisahkan dengan titik.

Untuk memperbaiki kebijakan Extract Variables yang ditampilkan di atas, Anda dapat mengubah nama variabel var.color.next agar 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 dalam elemen <JSONPath> kebijakan Ekstrak Variabel. Misalnya, jika payload JSON tidak memiliki objek Name, tetapi Anda menentukan Name sebagai jalur dalam kebijakan Ekstrak Variabel, maka error ini akan terjadi.

Diagnosis

  1. Identifikasi kebijakan Extract Variables tempat terjadinya error dan jalur JSON yang tidak valid. Anda dapat menemukan kedua item ini di elemen faultstring dalam respons error. Misalnya, dalam string kesalahan 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 dalam elemen <JSONPath> cocok dengan jalur yang diidentifikasi dalam string kesalahan (langkah #1 di atas). Misalnya, kebijakan Extract Variables berikut menentukan jalur JSON $.Name, yang cocok dengan yang ada dalam string kesalahan:

    <?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, maka kebijakan akan mengekstrak payload JSON dari objek permintaan. Jika ditetapkan ke response, maka akan menjadi objek respons.

    Dalam contoh kebijakan Extract Variables 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 validasi apakah payload tersebut memiliki objek yang ditentukan dalam elemen <JSONPath>. Jika payload JSON tidak memiliki objek tersebut, maka itulah penyebab errornya.

    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 Extract Variables 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 di 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, maka error ini akan terjadi.

Misalnya, jika elemen <Source> dalam kebijakan Extract Variables ditetapkan sebagai request atau response dan seharusnya berisi payload JSON atau XML, tetapi payloadnya kosong, maka error akan terjadi.

Diagnosis

  1. Identifikasi kebijakan Extract Variables tempat terjadinya error. Anda dapat menemukan informasi ini di elemen faultstring pada respons error. Misalnya, dalam faultstring berikut, nama kebijakan adalah ExtractJSONVariables:

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

  2. Periksa elemen <Source> dalam XML Extract Variables yang gagal dan tentukan jenis input dari mana variabel diekstrak. Misalnya, kebijakan Extract Variables 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 diuraikan oleh kebijakan Extract Variables kosong. Jika input kosong, maka itulah penyebab error.

    Dalam contoh kebijakan Extract Variables 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 mengetahui informasi selengkapnya, lihat Menyesuaikan perutean akses.

    Kebijakan Extract Variables 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 mengetahui informasi selengkapnya, lihat Menyesuaikan perutean akses.

Penyebab: Input Tidak Valid atau Salah Format

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

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

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

Diagnosis

  1. Identifikasi kebijakan Extract Variables tempat terjadinya error. Anda dapat menemukan informasi ini di elemen faultstring dari respons error. Misalnya, dalam faultstring berikut, nama kebijakan adalah ExtractJSONVariables:

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

  2. Periksa elemen <Source> dalam XML Extract Variables yang gagal dan tentukan jenis input dari mana variabel diekstrak. Misalnya, kebijakan Extract Variables 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 Extract Variables valid. Jika input tidak valid atau salah format, maka itulah penyebab error.

    Dalam contoh kebijakan Extract Variables yang ditampilkan di atas, JSON tidak valid berikut diteruskan ke kebijakan Extract Variables

    [
        "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 mengetahui informasi selengkapnya, lihat Menyesuaikan perutean 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> disetel ke response, tetapi payload respons JSON tidak valid atau salah format.

Resolusi

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

Untuk memperbaiki masalah pada contoh kebijakan Ekstrak Variabel 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 melakukan transmisi 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 Extract Variable mencoba menetapkan nilai yang telah diekstrak dari variabel String ke variabel Integer, Anda akan melihat error ini.

Diagnosis

  1. Identifikasi jenis data variabel yang akan di-casting oleh kebijakan Extract Variables dan gagal. Anda dapat menemukan informasi ini di elemen faultstring dari respons error. Misalnya, dalam faultstring berikut, jenis objeknya adalah BOOLEAN:

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

  2. Identifikasi kebijakan Extract Variables tempat Anda mencoba menyetel 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 kesalahan:

    <?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 sedang 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 akan diberi data (ditentukan pada langkah #2) sama.

  5. Jika jenis data variabel sumber dan tujuan tidak sama, maka itulah penyebab error.

    Dalam contoh kebijakan Extract Variables yang ditampilkan di atas, pertimbangkan payload permintaan JSON adalah sebagai berikut:

    {
     "latitude":36.2312
    }
    

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

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

Resolusi

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

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

<?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 Extract Variables tidak dapat menguraikan 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 dijalankan dalam alur respons dan diharapkan untuk mengurai jalur JSON, tetapi elemen <Source> menentukan variabel alur request.content, yang tidak ada dalam alur respons.

Diagnosis

  1. Identifikasi kebijakan Ekstrak Variabel tempat terjadinya error dan nama variabel alur yang datanya tidak dapat diekstrak. Anda dapat menemukan kedua item ini di elemen faultstring dalam 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 dalam elemen <Source> cocok dengan nama variabel yang diidentifikasi dalam string kesalahan (langkah #1 di atas). Misalnya, kebijakan Extract Variables berikut menentukan variabel bernama request.content, yang cocok dengan yang ada di 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 Extract Variables dijalankan.

  4. Jika variabelnya 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> kebijakan Ekstrak Variabel. Variabel alur request.content hanya tersedia di 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 Variables tersedia dalam alur tempat kebijakan Extract Variables dieksekusi.

Misalnya, asumsikan bahwa variabel bernama response.content ada dalam alur respons dan sebenarnya berisi JSON yang ingin Anda ekstrak. Untuk memperbaiki kebijakan Extract Variables yang ditunjukkan 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>