Referensi error kebijakan

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat Dokumentasi Apigee Edge.

Kebijakan AccessControl

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
accesscontrol.IPDeniedAccess 403 Alamat IP klien, atau alamat IP yang diteruskan dalam permintaan API, cocok dengan alamat IP yang ditentukan dalam elemen <SourceAddress> dalam elemen <MatchRule> Kebijakan Kontrol Akses, dan atribut action dari elemen <MatchRule> ditetapkan ke DENY.
accesscontrol.InvalidIPAddressInVariable 500 Variabel flow di <ClientIPVariable> berisi alamat IP yang tidak valid.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Variabel khusus untuk error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. acl.AC-AllowAccess.failed = true

Contoh respons kesalahan

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"steps.accesscontrol.IPDeniedAccess"
      }
   }
}

Contoh aturan kesalahan

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>

Kebijakan AccessEntity

Untuk informasi terkait, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Tidak ada.

Error saat deployment

Nama error String kesalahan Status HTTP Terjadi saat
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] T/A Jenis entity yang digunakan harus merupakan salah satu jenis yang didukung.

Kebijakan TetapkanMessage

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.assignmessage.SetVariableFailed 500 Kebijakan ini tidak dapat menetapkan variabel. Lihat string kesalahan untuk nama variabel yang belum terselesaikan.
steps.assignmessage.VariableOfNonMsgType 500

Error ini terjadi jika atribut source dalam elemen <Copy> ditetapkan ke variabel yang bukan jenis message.

Variabel jenis pesan mewakili keseluruhan permintaan dan respons HTTP. Variabel alur Apigee bawaan request, response, dan message adalah jenis pesan. Untuk mempelajari variabel pesan lebih lanjut, baca Referensi variabel.

steps.assignmessage.UnresolvedVariable 500

Error ini terjadi jika variabel yang ditentukan dalam kebijakan ProvideMessage:

  • Di luar cakupan (tidak tersedia di alur spesifik tempat kebijakan sedang dijalankan)
  • atau
  • Tidak dapat diselesaikan (tidak ditentukan)

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidIndex Jika indeks yang ditentukan dalam elemen <Copy> dan/atau <Remove> kebijakan AssignMessage adalah 0 atau angka negatif, deployment Proxy API akan gagal.
InvalidVariableName Jika elemen turunan <Name> kosong atau tidak ditentukan dalam elemen <AssignVariable>, deployment proxy API akan gagal karena tidak ada nama variabel yang valid untuk menetapkan nilai. Nama variabel yang valid wajib diisi.
InvalidPayload Payload yang ditentukan dalam kebijakan tidak valid.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="FAULT_NAME" FAULT_NAME adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "UnresolvedVariable"
assignmessage.POLICY_NAME.failed POLICY_NAME adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. assignmessage.AM-SetResponse.failed = true

Contoh respons error

{
   "fault":{
      "detail":{
         "errorcode":"steps.assignmessage.VariableOfNonMsgType"
      },
      "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message"
   }
}

Contoh aturan kesalahan

<FaultRule name="Assign Message Faults">
    <Step>
        <Name>AM-CustomNonMessageTypeErrorResponse</Name>
        <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition>
    </Step>
    <Step>
        <Name>AM-CustomSetVariableErrorResponse</Name>
        <Condition>(fault.name = "SetVariableFailed")</Condition>
    </Step>
    <Condition>(assignmessage.failed = true) </Condition>
</FaultRule>

Kebijakan BasicAuthentication

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.basicauthentication.InvalidBasicAuthenticationSource 500 Pada dekode saat string berenkode Base64 yang masuk tidak berisi nilai yang valid atau format header salah (misalnya, tidak dimulai dengan Basic).
steps.basicauthentication.UnresolvedVariable 500 Variabel sumber yang diperlukan untuk dekode atau enkode tidak ada. Error ini hanya dapat terjadi jika IgnoreUnresolvedVariables bernilai salah (false).

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Terjadi saat Perbaikan
UserNameRequired Elemen <User> harus ada untuk operasi yang diberi nama.
PasswordRequired Elemen <Password> harus ada untuk operasi yang diberi nama.
AssignToRequired Elemen <AssignTo> harus ada untuk operasi yang diberi nama.
SourceRequired Elemen <Source> harus ada untuk operasi yang diberi nama.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. BasicAuthentication.BA-Authenticate.failed = true

Contoh respons error

{
   "fault":{
      "detail":{
         "errorcode":"steps.basicauthentication.UnresolvedVariable"
      },
      "faultstring":"Unresolved variable : request.queryparam.password"
   }
}

Contoh aturan kesalahan

<FaultRule name="Basic Authentication Faults">
    <Step>
        <Name>AM-UnresolvedVariable</Name>
        <Condition>(fault.name Matches "UnresolvedVariable") </Condition>
    </Step>
    <Step>
        <Name>AM-AuthFailedResponse</Name>
        <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
    </Step>
    <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>

Kebijakan DecodeJWS

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Terjadi saat
steps.jws.FailedToDecode 401 Kebijakan tidak dapat mendekode JWS. JWS mungkin rusak.
steps.jws.FailedToResolveVariable 401 Terjadi saat variabel flow yang ditentukan dalam elemen <Source> kebijakan tidak ada.
steps.jws.InvalidClaim 401 Karena klaim atau klaim tidak cocok, atau ketidakcocokan header atau header tidak ada.
steps.jws.InvalidJsonFormat 401 JSON yang tidak valid ditemukan di header JWS.
steps.jws.InvalidJws 401 Error ini terjadi saat verifikasi tanda tangan JWS gagal.
steps.jws.InvalidPayload 401 Payload JWS tidak valid.
steps.jws.InvalidSignature 401 <DetachedContent> dihilangkan dan JWS memiliki payload konten terpisah.
steps.jws.MissingPayload 401 Payload JWS tidak ada.
steps.jws.NoAlgorithmFoundInHeader 401 Terjadi saat JWS menghilangkan header algoritma.
steps.jws.UnknownException 401 Terjadi pengecualian yang tidak diketahui.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Terjadi saat
InvalidAlgorithm Satu-satunya nilai yang valid adalah: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Kemungkinan error deployment lainnya.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "TokenExpired"
JWS.failed Semua kebijakan JWS menetapkan variabel yang sama jika terjadi kegagalan. jws.JWS-Policy.failed = true

Contoh respons error

Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

Contoh aturan kesalahan

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Kebijakan DecodeJWT

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.jwt.FailedToDecode 401 Terjadi saat kebijakan tidak dapat mendekode JWT. JWT mungkin salah format, tidak valid, atau tidak dapat didekode.
steps.jwt.FailedToResolveVariable 401 Terjadi saat variabel flow yang ditentukan dalam elemen <Source> kebijakan tidak ada.
steps.jwt.InvalidToken 401 Terjadi saat variabel flow yang ditentukan dalam elemen <Source> kebijakan berada di luar cakupan atau tidak dapat diselesaikan.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidEmptyElement Terjadi saat variabel flow yang berisi JWT yang akan didekode tidak ditentukan dalam elemen <Source> kebijakan.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahannya, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "InvalidToken"
JWT.failed Semua kebijakan JWT menetapkan variabel yang sama jika terjadi kegagalan. JWT.failed = true

Contoh respons error

Kode Kesalahan Kebijakan JWT

Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

Contoh aturan kesalahan

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "InvalidToken")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Kebijakan ExtractVariables

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.extractvariables.ExecutionFailed 500

Error ini terjadi saat:

  • Payload input (JSON, XML) kosong.
  • Input (JSON, XML, dll.) yang diteruskan ke kebijakan tidak valid atau formatnya salah.
steps.extractvariables.ImmutableVariable 500 Variabel yang digunakan dalam kebijakan tidak dapat diubah. Kebijakan tidak dapat menetapkan variabel ini. T/A
steps.extractvariables.InvalidJSONPath 500 Error ini terjadi jika jalur JSON yang tidak valid digunakan dalam elemen JSONPath kebijakan. Misalnya, jika payload JSON tidak memiliki objek Name, tetapi Anda menentukan Name sebagai jalur dalam kebijakan, error ini akan terjadi.
steps.extractvariables.JsonPathParsingFailure 500 Error ini terjadi jika kebijakan tidak dapat mengurai jalur JSON dan mengekstrak data dari variabel flow yang ditentukan dalam elemen Source. Biasanya hal ini terjadi jika variabel flow yang ditentukan dalam elemen Source tidak ada dalam alur saat ini.
steps.extractvariables.SetVariableFailed 500 Error ini terjadi jika kebijakan tidak dapat menetapkan nilai ke variabel. Error ini umumnya terjadi jika Anda mencoba menetapkan nilai ke beberapa variabel yang namanya diawali dengan kata yang sama dalam format yang dipisahkan dengan titik.
steps.extractvariables.SourceMessageNotAvailable 500 Error ini terjadi jika variabel message yang ditentukan dalam elemen Source kebijakan adalah:
  • Di luar cakupan (tidak tersedia dalam alur spesifik tempat kebijakan dijalankan) atau
  • Tidak dapat diselesaikan (tidak ditentukan)
steps.extractvariables.UnableToCast 500 Error ini terjadi jika kebijakan tidak dapat mentransmisikan nilai yang diekstrak ke variabel. Biasanya ini terjadi jika Anda mencoba menetapkan nilai satu jenis data ke variabel jenis data lain.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
NothingToExtract Jika kebijakan tidak memiliki salah satu elemen URIPath, QueryParam, Header, FormParam, XMLPayload, atau JSONPayload, deployment Proxy API akan gagal karena tidak ada yang dapat diekstrak.
NONEmptyPrefixMappedToEmptyURI Error ini terjadi jika kebijakan memiliki awalan yang ditentukan dalam elemen Namespace di bagian elemen XMLPayload, tetapi tidak ada URI yang ditentukan.
DuplicatePrefix Error ini terjadi jika kebijakan memiliki awalan yang sama yang ditentukan lebih dari sekali dalam elemen Namespace pada elemen XMLPayload.
NoXPathsToEvaluate Jika kebijakan tidak memiliki elemen XPath dalam elemen XMLPayload, deployment proxy API akan gagal dengan error ini.
EmptyXPathExpression Jika kebijakan memiliki ekspresi XPath kosong dalam elemen XMLPayload, deployment proxy API akan gagal.
NoJSONPathsToEvaluate Jika kebijakan tidak memiliki elemen JSONPath dalam elemen JSONPayload, deployment proxy API akan gagal dengan error ini.
EmptyJSONPathExpression Jika kebijakan memiliki ekspresi XPath kosong dalam elemen XMLPayload, deployment proxy API akan gagal.
MissingName Jika kebijakan tidak memiliki atribut name di salah satu elemen kebijakan seperti QueryParam, Header, FormParam atau Variable, jika diperlukan, deployment proxy API akan gagal.
PatternWithoutVariable Jika kebijakan tidak memiliki variabel yang ditentukan dalam elemen Pattern, deployment proxy API akan gagal. Elemen Pattern memerlukan nama variabel tempat data yang diekstrak akan disimpan.
CannotBeConvertedToNodeset Jika kebijakan memiliki ekspresi XPath dengan jenis Variable ditentukan sebagai nodeset, tetapi ekspresi tersebut tidak dapat dikonversi menjadi nodeset, deployment proxy API akan gagal.
JSONPathCompilationFailed Kebijakan tidak dapat mengompilasi Jalur JSON yang ditentukan. T/A
InstantiationFailed Kebijakan tidak dapat dibuat instance. T/A
XPathCompilationFailed Jika awalan atau nilai yang digunakan dalam elemen XPath bukan bagian dari namespace yang dideklarasikan dalam kebijakan, deployment proxy API akan gagal.
InvalidPattern Jika definisi elemen Pattern tidak valid di salah satu elemen seperti URIPath, QueryParam, Header, FormParam, XMLPayload, atau JSONPayload dalam kebijakan, deployment proxy API akan gagal.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. extractvariables.EV-ParseJsonResponse.failed = true

Contoh respons error

{
   "fault":{
      "detail":{
         "errorcode":"steps.extractvariables.SourceMessageNotAvailable"
      },
      "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse"
   }
}

Contoh aturan kesalahan

<FaultRule name="Extract Variable Faults">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name = "SourceMessageNotAvailable") </Condition>
    </Step>
    <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition>
</FaultRule>

Kebijakan GenerateJWS

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Terjadi saat
steps.jws.GenerationFailed 401 Kebijakan ini tidak dapat menghasilkan JWS.
steps.jws.InsufficientKeyLength 401 Untuk kunci kurang dari 32 byte untuk algoritma HS256
steps.jws.InvalidClaim 401 Karena klaim atau klaim tidak cocok, atau ketidakcocokan header atau header tidak ada.
steps.jws.InvalidCurve 401 Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Kurva Eliptis.
steps.jws.InvalidJsonFormat 401 JSON yang tidak valid ditemukan di header JWS.
steps.jws.InvalidPayload 401 Payload JWS tidak valid.
steps.jws.InvalidSignature 401 <DetachedContent> dihilangkan dan JWS memiliki payload konten terpisah.
steps.jws.KeyIdMissing 401 Kebijakan Verifikasi menggunakan JWKS sebagai sumber untuk kunci publik, tetapi JWS yang ditandatangani tidak menyertakan properti kid di header.
steps.jws.KeyParsingFailed 401 Kunci publik tidak dapat diuraikan dari informasi kunci yang diberikan.
steps.jws.MissingPayload 401 Payload JWS tidak ada.
steps.jws.NoAlgorithmFoundInHeader 401 Terjadi saat JWS menghilangkan header algoritma.
steps.jws.SigningFailed 401 Dalam GenerateJWS, untuk kunci yang kurang dari ukuran minimum untuk algoritma HS384 atau HS512
steps.jws.UnknownException 401 Terjadi pengecualian yang tidak diketahui.
steps.jws.WrongKeyType 401 Jenis kunci yang ditentukan salah. Misalnya, jika Anda menentukan kunci RSA untuk algoritma Kurva Elliptik, atau kunci kurva untuk algoritma RSA.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Terjadi saat
InvalidAlgorithm Satu-satunya nilai yang valid adalah: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Kemungkinan error deployment lainnya.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "TokenExpired"
JWS.failed Semua kebijakan JWS menetapkan variabel yang sama jika terjadi kegagalan. jws.JWS-Policy.failed = true

Contoh respons error

Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

Contoh aturan kesalahan

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Kebijakan GenerateJWT

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Terjadi saat
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Terjadi saat kebijakan verifikasi memiliki beberapa algoritma.
steps.jwt.AlgorithmMismatch 401 Algoritme yang ditentukan dalam kebijakan Buat tidak cocok dengan yang diharapkan dalam kebijakan Verifikasi. Algoritma yang ditentukan harus cocok.
steps.jwt.EncryptionFailed 401 Pembuatan JWT terenkripsi gagal karena alasan yang tidak spesifik
steps.jwt.FailedToDecode 401 Kebijakan tidak dapat mendekode JWT. JWT mungkin rusak.
steps.jwt.GenerationFailed 401 Kebijakan tidak dapat menghasilkan JWT.
steps.jwt.InsufficientKeyLength 401 Untuk kunci yang berukuran kurang dari 32 byte untuk algoritma HS256, kurang dari 48 byte untuk algoritma HS386, dan kurang dari 64 byte untuk algoritma HS512.
steps.jwt.InvalidClaim 401 Karena klaim atau klaim tidak cocok, atau ketidakcocokan header atau header tidak ada.
steps.jwt.InvalidConfiguration 401 Elemen <Algorithm> dan <Algorithms> ada.
steps.jwt.InvalidCurve 401 Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Kurva Eliptis.
steps.jwt.InvalidJsonFormat 401 JSON yang tidak valid ditemukan di header atau payload.
steps.jwt.InvalidPasswordKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
steps.jwt.InvalidPrivateKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
steps.jwt.InvalidPublicKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
steps.jwt.InvalidSecretKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
steps.jwt.InvalidToken 401 Error ini terjadi saat verifikasi tanda tangan JWT gagal.
steps.jwt.JwtAudienceMismatch 401 Klaim audiens gagal pada verifikasi token.
steps.jwt.JwtIssuerMismatch 401 Klaim penerbit gagal pada verifikasi token.
steps.jwt.JwtSubjectMismatch 401 Klaim subjek gagal pada verifikasi token.
steps.jwt.KeyIdMissing 401 Kebijakan Verifikasi menggunakan JWKS sebagai sumber untuk kunci publik, tetapi JWT yang ditandatangani tidak menyertakan properti kid di header.
steps.jwt.KeyParsingFailed 401 Kunci publik tidak dapat diuraikan dari informasi kunci yang diberikan.
steps.jwt.NoAlgorithmFoundInHeader 401 Terjadi saat JWT tidak berisi header algoritma.
steps.jwt.NoMatchingPublicKey 401 Kebijakan Verifikasi menggunakan JWKS sebagai sumber untuk kunci publik, tetapi kid dalam JWT yang ditandatangani tidak tercantum di JWKS.
steps.jwt.SigningFailed 401 Di GenerateJWT, untuk kunci yang kurang dari ukuran minimum untuk algoritma HS384 atau HS512
steps.jwt.TokenExpired 401 Kebijakan ini akan mencoba memverifikasi token yang sudah habis masa berlakunya.
steps.jwt.TokenNotYetValid 401 Token belum valid.
steps.jwt.UnhandledCriticalHeader 401 Header yang ditemukan oleh kebijakan Verifikasi JWT di header crit tidak tercantum di KnownHeaders.
steps.jwt.UnknownException 401 Terjadi pengecualian yang tidak diketahui.
steps.jwt.WrongKeyType 401 Jenis kunci yang ditentukan salah. Misalnya, jika Anda menentukan kunci RSA untuk algoritma Kurva Elliptik, atau kunci kurva untuk algoritma RSA.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidNameForAdditionalClaim Deployment akan gagal jika klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> adalah salah satu nama yang terdaftar berikut: kid, iss, sub, aud, iat, exp, nbf, atau jti.
InvalidTypeForAdditionalClaim Jika klaim yang digunakan dalam elemen turunan <Claim> elemen <AdditionalClaims> bukan jenis string, number, boolean, atau map, deployment akan gagal.
MissingNameForAdditionalClaim Jika nama klaim tidak ditentukan dalam elemen turunan <Claim> dari elemen <AdditionalClaims>, deployment akan gagal.
InvalidNameForAdditionalHeader Error ini terjadi jika nama klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> adalah alg atau typ.
InvalidTypeForAdditionalHeader Jika jenis klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> bukan jenis string, number, boolean, atau map, deployment akan gagal.
InvalidValueOfArrayAttribute Error ini terjadi jika nilai atribut array dalam elemen turunan <Claim> dari elemen <AdditionalClaims> tidak ditetapkan ke true atau false.
InvalidConfigurationForActionAndAlgorithm Jika elemen <PrivateKey> digunakan dengan algoritma Keluarga HS atau elemen <SecretKey> digunakan dengan algoritma Keluarga RSA, deployment akan gagal.
InvalidValueForElement Jika nilai yang ditentukan dalam elemen <Algorithm> bukan nilai yang didukung, deployment akan gagal.
MissingConfigurationElement Error ini akan terjadi jika elemen <PrivateKey> tidak digunakan dengan algoritma kelompok RSA atau elemen <SecretKey> tidak digunakan dengan algoritma Keluarga HS.
InvalidKeyConfiguration Jika elemen turunan <Value> tidak ditetapkan dalam elemen <PrivateKey> atau <SecretKey>, deployment akan gagal.
EmptyElementForKeyConfiguration Jika atribut referensi elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> kosong atau tidak ditentukan, deployment akan gagal.
InvalidVariableNameForSecret Error ini terjadi jika nama variabel flow yang ditentukan dalam atribut ref elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> tidak berisi awalan pribadi (private.).
InvalidSecretInConfig Error ini terjadi jika elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> tidak berisi awalan pribadi (private.).
InvalidTimeFormat Jika nilai yang ditentukan dalam elemen <NotBefore> tidak menggunakan format yang didukung, deployment akan gagal.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahannya, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "InvalidToken"
JWT.failed Semua kebijakan JWT menetapkan variabel yang sama jika terjadi kegagalan. JWT.failed = true

Contoh respons error

Kode Kesalahan Kebijakan JWT

Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

Contoh aturan kesalahan

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "InvalidToken")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Kebijakan JavaKeterangan

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.javacallout.ExecutionError 500 Terjadi saat kode Java menampilkan pengecualian atau menampilkan null selama eksekusi JavaCallout policy.

Error saat deployment

Error ini dapat terjadi saat proxy yang berisi kebijakan di-deploy.

Nama error String kesalahan Status HTTP Terjadi saat
ResourceDoesNotExist Resource with name [name] and type [type] does not exist T/A File yang ditentukan dalam elemen <ResourceURL> tidak ada.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] T/A File class yang ditentukan dalam elemen <ClassName> tidak ada dalam jar.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] T/A Lihat string kesalahan. Versi Java yang didukung meliputi: Oracle JDK 7/8 dan OpenJDK 7/8
JavaClassNotFoundInJavaResource Failed to find the ClassName in java resource [jar_name] - [class_name] T/A Lihat string kesalahan.
JavaClassDefinitionNotFound Failed to load java class [class_name] definition due to - [reason] T/A Lihat string kesalahan.
NoAppropriateConstructor No appropriate constructor found in JavaCallout class [class_name] T/A Lihat string kesalahan.
NoResourceForURL Could not locate a resource with URL [string] T/A Lihat string kesalahan.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "ExecutionError"
javacallout.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. javacallout.JC-GetUserData.failed = true

Contoh respons error

{
   "fault":{
      "faultstring":"Failed to execute JavaCallout. [policy_name]",
      "detail":{
         "errorcode":"javacallout.ExecutionError"
      }
   }
}

Contoh aturan kesalahan

<FaultRule name="JavaCalloutFailed">
    <Step>
        <Name>AM-JavaCalloutError</Name>
    </Step>
    <Condition>(fault.name Matches "ExecutionError") </Condition>
</FaultRule>

kebijakan JavaScript

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan fault untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.javascript.ScriptExecutionFailed 500 Kebijakan JavaScript dapat menampilkan berbagai jenis error ScriptExecutionFailed. Jenis error yang umum ditemui mencakup RangeError, ReferenceError, SyntaxError, TypeError, dan URIError.
steps.javascript.ScriptExecutionFailedLineNumber 500 Terjadi error di kode JavaScript. Lihat string fault untuk mengetahui detailnya. T/A
steps.javascript.ScriptSecurityError 500 Terjadi error keamanan saat JavaScript dieksekusi. Lihat string fault untuk mengetahui detailnya. T/A

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidResourceUrlFormat Jika format URL resource yang ditentukan dalam elemen <ResourceURL> atau <IncludeURL> kebijakan JavaScript tidak valid, deployment proxy API akan gagal.
InvalidResourceUrlReference Jika elemen <ResourceURL> atau <IncludeURL> merujuk ke file JavaScript yang tidak ada, deployment proxy API akan gagal. File sumber yang direferensikan harus ada proxy API, lingkungan, atau tingkat organisasi.
WrongResourceType Error ini terjadi selama deployment jika elemen <ResourceURL> atau <IncludeURL> dari kebijakan JavaScript merujuk ke jenis resource apa pun selain jsc (file JavaScript).
NoResourceURLOrSource Deployment kebijakan JavaScript dapat gagal dengan error ini jika elemen <ResourceURL> tidak dideklarasikan atau jika URL resource tidak ditentukan dalam elemen ini. Elemen <ResourceURL> adalah elemen wajib. Atau, elemen <IncludeURL> dideklarasikan, tetapi URL resource tidak ditentukan dalam elemen ini. Elemen <IncludeURL> bersifat opsional, tetapi jika dideklarasikan, URL resource harus ditentukan dalam elemen <IncludeURL>.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "ScriptExecutionFailed"
javascript.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. javascript.JavaScript-1.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"",
    "detail": {
      "errorcode": "steps.javascript.ScriptExecutionFailed"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name="JavaScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(javascript.JavaScript-1.failed = true) </Condition>
</FaultRule>

kebijakan JSONThreatProtection

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.jsonthreatprotection.ExecutionFailed 500 Kebijakan JSONThreatProtection dapat menampilkan berbagai jenis error ExecutionFailed. Sebagian besar error ini terjadi saat nilai minimum tertentu yang ditetapkan dalam kebijakan terlampaui. Jenis error ini mencakup: panjang nama entri objek, jumlah entri objek, jumlah elemen array, kedalaman container, panjang nilai string string. Error ini juga terjadi jika payload berisi objek JSON yang tidak valid.
steps.jsonthreatprotection.SourceUnavailable 500 Error ini terjadi jika variabel message yang ditentukan dalam elemen <Source> adalah:
  • Di luar cakupan (tidak tersedia di alur spesifik tempat kebijakan sedang dijalankan)
  • Bukan salah satu dari nilai request, response, atau message yang valid
steps.jsonthreatprotection.NonMessageVariable 500 Error ini terjadi jika elemen <Source> ditetapkan ke variabel yang bukan jenis pesan.

Error saat deployment

Tidak ada.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "SourceUnavailable"
jsonattack.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. jsonattack.JTP-SecureRequest.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.jsonthreatprotection.ExecutionFailed"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name="JSONThreatProtection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>

Jenis kebijakan JSONThreatProtection menentukan kode error berikut:

Kebijakan JSONtoXML

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.jsontoxml.ExecutionFailed 500 Payload input (JSON) kosong atau input (JSON) yang diteruskan ke kebijakan JSON ke XML tidak valid atau memiliki format yang salah.
steps.jsontoxml.InCompatibleTypes 500 Error ini terjadi jika jenis variabel yang ditentukan dalam elemen <Source> dan elemen <OutputVariable> tidak sama. Jenis variabel yang ada dalam elemen <Source> dan elemen <OutputVariable> harus cocok. Jenis yang valid adalah message dan string.
steps.jsontoxml.InvalidSourceType 500 Error ini terjadi jika jenis variabel yang digunakan untuk menetapkan elemen <Source> tidak valid. Jenis variabel yang valid adalah message dan string.
steps.jsontoxml.OutputVariableIsNotAvailable 500 Error ini terjadi jika variabel yang ditentukan dalam elemen <Source> Kebijakan JSON ke XML adalah string jenis dan elemen <OutputVariable> tidak ditentukan. Elemen <OutputVariable> bersifat wajib jika variabel yang ditentukan dalam elemen <Source> adalah string jenis.
steps.jsontoxml.SourceUnavailable 500 Error ini terjadi jika variabel message yang ditentukan dalam elemen <Source> dari kebijakan JSON ke XML adalah:
  • Di luar cakupan (tidak tersedia dalam alur spesifik tempat kebijakan dijalankan) atau
  • Tidak dapat diselesaikan (tidak ditentukan)

Error saat deployment

Tidak ada.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. jsontoxml.JSON-to-XML-1.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.json2xml.SourceUnavailable"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name="JSON To XML Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadJSON</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>

Kebijakan KeyValueMapOperations

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.keyvaluemapoperations.UnsupportedOperationException 500

Error ini terjadi jika atribut mapIdentifier disetel ke string kosong dalam kebijakan KeyValueMapOperations.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidIndex Jika atribut index yang ditentukan dalam elemen <Get> kebijakan KeyValueMapOperations adalah nol atau angka negatif, deployment proxy API akan gagal. Indeks dimulai dari 1, sehingga indeks bilangan bulat nol atau negatif dianggap tidak valid.
KeyIsMissing Error ini terjadi jika elemen <Key> tidak ada sama sekali atau elemen <Parameter> tidak ada dalam elemen <Key> di bawah <Entry> elemen <InitialEntries> dalam kebijakan KeyValueMapOperations.
ValueIsMissing Error ini terjadi jika elemen <Value> tidak ada di bawah elemen <Entry> dari elemen <InitialEntries> kebijakan KeyValueMapOperations.

Kebijakan MessageLogging

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.messagelogging.StepDefinitionExecutionFailed 500 Lihat string kesalahan.
steps.messagelogging.InvalidGoogleCloudLogName 500 Error ini ditampilkan jika LogName tidak dievaluasi ke format projects/{project}/logs/{logid} yang valid.
steps.messagelogging.InvalidJsonMessage 500 Error ini ditampilkan jika nilai atribut contentType telah dipilih sebagai application/json, tetapi nilai pesan yang sebenarnya bukanlah string JSON yang valid.
steps.messagelogging.TooManyPendingLoggingRequest 500 Error ini ditampilkan jika ada lebih dari 2.500 permintaan tertunda yang belum ditulis ke Cloud Logging. Batas 2.500 ditujukan untuk setiap pod runtime Apigee. Misalnya, jika traffic didistribusikan ke dua instance pod runtime Apigee, batas efektifnya adalah 5.000 permintaan.
-

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidProtocol Deployment kebijakan MessageLogging dapat gagal dengan error ini jika protokol yang ditentukan dalam elemen <Protocol> tidak valid. Protokol yang valid adalah TCP dan UDP. Untuk mengirim pesan syslog melalui TLS/SSL, hanya TCP yang didukung.
InvalidPort Deployment kebijakan MessageLogging dapat gagal dengan error ini jika nomor port tidak ditentukan dalam elemen <Port> atau jika tidak valid. Nomor port harus berupa bilangan bulat yang lebih besar dari nol.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. messagelogging.ML-LogMessages.failed = true

Contoh respons error

{
   "fault":{
      "detail":{
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

Contoh aturan kesalahan

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>

Kebijakan OASValidation

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.oasvalidation.Failed 400 Isi pesan Permintaan tidak dapat divalidasi berdasarkan Spesifikasi OpenAPI yang diberikan.
steps.oasvalidation.Failed 500 Isi pesan Response tidak dapat divalidasi dengan Spesifikasi OpenAPI yang diberikan.
steps.oasvalidation.SourceMessageNotAvailable 500

Variabel yang ditentukan dalam elemen <Source> kebijakan berada di luar cakupan atau tidak dapat diselesaikan.

steps.oasvalidation.NonMessageVariable 500

Elemen <Source> ditetapkan ke variabel yang bukan jenis message.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab
ResourceDoesNotExist Spesifikasi OpenAPI yang dirujuk dalam elemen <OASResource> tidak ada.
ResourceCompileFailed Spesifikasi OpenAPI yang disertakan dalam deployment berisi error yang mencegahnya dikompilasi. Hal ini secara umum menunjukkan bahwa spesifikasi tersebut bukan Spesifikasi OpenAPI 3.0 yang diformat dengan baik.
BadResourceURL Spesifikasi OpenAPI yang direferensikan dalam elemen <OASResource> tidak dapat diproses. Hal ini dapat terjadi jika file bukan file JSON atau YAML, atau URL file tidak ditentukan dengan benar.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Deskripsi Contoh
fault.category Kategori kesalahan. Jika kebijakan menolak permintaan, Step akan selalu ditahan. fault.category = "Step"
fault.name Nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "ResourceDoesNotExist"
fault.reason Alasan kesalahan. Ini adalah string yang dapat dibaca manusia yang menjelaskan alasan kesalahan. OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]"
fault.subcategory Subkategori kesalahan. Jika kebijakan menolak permintaan, OASValidationFailure akan selalu ditahan. fault.subcategory = "OASValidationFailure"
OASValidation.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. OASValidation.myoaspolicy.failed = true

Kebijakan CompleteCache

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Terjadi saat
policies.populatecache.EntryCannotBeCached 500 Entri tidak dapat di-cache. Objek pesan yang di-cache bukan merupakan instance class yang dapat diserialisasi.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> dalam kebijakan PopulateCache disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
CacheNotFound Cache yang ditentukan dalam elemen <CacheResource> tidak ada.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. populatecache.POP-CACHE-1.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "[entry] can not be cached. Only serializable entries are cached.",
    "detail": {
      "errorcode": "steps.populatecache.EntryCannotBeCached"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name="Populate Cache Fault">
    <Step>
        <Name>AM-EntryCannotBeCached</Name>
        <Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
    </Step>
    <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>

Kebijakan LookupCache

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Awalan kode error

T/A

Error runtime

Kebijakan ini tidak menampilkan error runtime apa pun.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
InvalidTimeout Jika elemen <CacheLookupTimeoutInSeconds> disetel ke angka negatif, deployment proxy API akan gagal.
CacheNotFound Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu.

Variabel kesalahan

T/A

Contoh respons error

T/A

Kebijakan InvalidateCache

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Awalan kode error

T/A

Error runtime

Kebijakan ini tidak menampilkan error runtime apa pun.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> dalam kebijakan InvalidateCache disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
CacheNotFound Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu.

Variabel kesalahan

T/A

Contoh respons error

T/A

Kebijakan ResponseCache

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Awalan kode error

T/A

Error runtime

Kebijakan ini tidak menampilkan error runtime apa pun.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidTimeout Jika elemen <CacheLookupTimeoutInSeconds> dari kebijakan ResponseCache disetel ke angka negatif, deployment proxy API akan gagal.
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> dalam kebijakan ResponseCache disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
ResponseCacheStepAttachmentNotAllowedReq Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur permintaan dalam alur proxy API apa pun.
ResponseCacheStepAttachmentNotAllowedResp Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur respons dalam alur proxy API apa pun.
InvalidMessagePatternForErrorCode Error ini terjadi jika elemen <SkipCacheLookup> atau <SkipCachePopulation> dalam kebijakan ResponseCache berisi kondisi yang tidak valid.
CacheNotFound Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu.

Variabel kesalahan

T/A

Contoh respons error

T/A

kebijakan OAuthV2

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Dilempar oleh operasi
steps.oauth.v2.access_token_expired 401 Masa berlaku token akses telah berakhir.

VerifyAccessToken
InvalidateToken

steps.oauth.v2.access_token_not_approved 401 Token akses dicabut. VerifyAccessToken
steps.oauth.v2.apiresource_doesnot_exist 401 Resource yang diminta tidak ada produk API apa pun yang terkait dengan token akses. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 Kebijakan diharapkan dapat menemukan token akses dalam variabel yang ditentukan dalam elemen <AccessToken>, tetapi variabel tersebut tidak dapat di-resolve. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 Kebijakan ini seharusnya menemukan kode otorisasi dalam variabel yang ditentukan dalam elemen <Code>, tetapi variabel tersebut tidak dapat di-resolve. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 Kebijakan ini diharapkan dapat menemukan Client-ID dalam variabel yang ditentukan dalam elemen <ClientId>, tetapi variabel tersebut tidak dapat di-resolve. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 Kebijakan ini diharapkan menemukan token refresh dalam variabel yang ditentukan dalam elemen <RefreshToken>, tetapi variabel tersebut tidak dapat di-resolve. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 Kebijakan diharapkan menemukan token dalam variabel yang ditentukan dalam elemen <Tokens>, tetapi variabel tersebut tidak dapat di-resolve.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 Token akses yang ditampilkan dalam permintaan memiliki cakupan yang tidak cocok dengan cakupan yang ditentukan dalam kebijakan verifikasi token akses. Untuk mempelajari cakupan, lihat Menggunakan cakupan OAuth2. VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 Token akses yang dikirim dari klien tidak valid. VerifyAccessToken
steps.oauth.v2.invalid_client 401

Nama error ini ditampilkan jika properti <GenerateResponse> kebijakan disetel ke true dan client ID yang dikirim dalam permintaan tidak valid. Pastikan Anda menggunakan nilai kunci dan rahasia klien yang benar untuk Aplikasi Developer yang terkait dengan proxy Anda. Biasanya, nilai ini dikirim sebagai header Otorisasi Dasar berenkode Base64.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.invalid_request 400 Nama error ini digunakan untuk berbagai jenis error, biasanya untuk parameter yang tidak ada atau salah yang dikirim dalam permintaan. Jika <GenerateResponse> ditetapkan ke false, gunakan variabel kesalahan (yang dijelaskan di bawah) untuk mengambil detail error, seperti nama dan penyebab kesalahan. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 Header otorisasi tidak memiliki kata Bearer, yang diperlukan. Sebagai contoh: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNo\
ApiProductMatchFound
401

Operasi atau proxy API yang sedang dijalankan tidak ada dalam Produk yang terkait dengan token akses.

Tips: Pastikan produk yang terkait dengan token akses dikonfigurasi dengan benar. Misalnya, jika Anda menggunakan karakter pengganti di jalur resource, pastikan karakter pengganti tersebut digunakan dengan benar. Lihat Mengelola produk API untuk detailnya.

Lihat juga Verifikasi Token Akses Oauth2.0 menampilkan error "Invalid API call as no apiproduct match found" untuk mendapatkan panduan selengkapnya tentang penyebab error ini.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

Nama error ini ditampilkan jika properti <GenerateResponse> kebijakan disetel ke false dan client ID yang dikirim dalam permintaan tidak valid. Pastikan Anda menggunakan nilai kunci dan rahasia klien yang benar untuk Aplikasi Developer yang terkait dengan proxy Anda. Biasanya, nilai ini dikirim sebagai header Otorisasi Dasar berenkode Base64.

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter 500 Kebijakan ini harus menentukan token akses atau kode otorisasi, tetapi tidak keduanya. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 Elemen <Tokens>/<Token> mengharuskan Anda menentukan jenis token (misalnya refreshtoken). Jika klien meneruskan jenis yang salah, error ini akan ditampilkan. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 Jenis responsnya adalah token, tetapi tidak ada jenis pemberian yang ditentukan. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

Klien menentukan jenis pemberian yang tidak didukung oleh kebijakan (tidak tercantum dalam elemen <SupportedGrantTypes>).

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

Error runtime khusus token JWT

Kode dan deskripsi error runtime untuk alur token autentikasi JWT bergantung pada konteks alur OAuth2:

Kode error untuk pembuatan token JWT dan alur refresh

Untuk alur OAuth2 yang menghasilkan atau memuat ulang token JWT, respons error akan mematuhi respons error yang ditentukan dalam RFC6749. Untuk mengetahui detailnya, lihat Respons Error Bagian 5.2.

Kode error untuk alur verifikasi token

Kode error yang tercantum dalam tabel berikut hanya berlaku untuk operasi VerifyAccessToken.

Kode kesalahan Status HTTP Penyebab Dilempar oleh operasi
oauth.v2.JWTSigningFailed 401 Kebijakan tidak dapat menandatangani JWT.

GenerateJWTAccessToken

oauth.v2.InvalidValueForJWTAlgorithm 401 Hal ini terjadi ketika algoritma tidak ada dalam token akses JWT atau ketika nilainya tidak didukung.

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.InsufficientKeyLength 401 Dalam Pembuatan JWT, untuk kunci yang kurang dari ukuran minimum untuk algoritma HS384 atau HS512

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.JWTAlgorithmMismatch 401 Algoritme yang ditentukan dalam kebijakan Buat tidak cocok dengan yang diharapkan dalam kebijakan Verifikasi. Algoritma yang ditentukan harus cocok.

VerifyJWTAccessToken

oauth.v2.JWTDecodingFailed 401 Kebijakan tidak dapat mendekode JWT. JWT mungkin rusak.

VerifyJWTAccessToken

oauth.v2.MissingMandatoryClaimsInJWT 401 Terjadi saat klaim yang diperlukan tidak ada dalam token Jwt Access

VerifyJWTAccessToken

oauth.v2.InvalidJWTSignature 401 Hal ini terjadi ketika tanda tangan token akses JWT tidak dapat diverifikasi atau jika tanda tangan tidak valid.

VerifyJWTAccessToken

oauth.v2.InvalidTypeInJWTHeader 401 Terjadi saat jenis JWT bukan at+Jwt

VerifyJWTAccessToken

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab
InvalidValueForExpiresIn

Untuk elemen <ExpiresIn>, nilai yang valid adalah bilangan bulat positif dan -1.

InvalidValueForRefreshTokenExpiresIn Untuk elemen <RefreshTokenExpiresIn>, nilai yang valid adalah bilangan bulat positif dan -1.
InvalidGrantType Jenis pemberian yang tidak valid ditentukan dalam elemen <SupportedGrantTypes>. Lihat referensi kebijakan untuk mengetahui daftar jenis yang valid.
ExpiresInNotApplicableForOperation Pastikan operasi yang ditentukan dalam elemen <Operations> mendukung akhir masa berlaku. Misalnya, operasi VerifyToken tidak demikian.
RefreshTokenExpiresInNotApplicableForOperation Pastikan operasi yang ditentukan dalam elemen <Operations> mendukung akhir masa berlaku token refresh. Misalnya, operasi VerifyToken tidak demikian.
GrantTypesNotApplicableForOperation Pastikan jenis pemberian yang ditentukan dalam <SupportedGrantTypes> didukung untuk operasi yang ditentukan.
OperationRequired

Anda harus menentukan operasi dalam kebijakan ini menggunakan elemen <Operation>.

InvalidOperation

Anda harus menentukan operasi yang valid dalam kebijakan ini menggunakan elemen <Operation>.

TokenValueRequired Anda harus menentukan nilai token <Token> dalam elemen <Tokens>.

Error deployment khusus token JWT

Error deployment ini khusus untuk kebijakan yang menggunakan operasi token JWT.

Nama error Penyebab
InvalidValueForAlgorithm Algoritme yang ditentukan dalam elemen <Algorithm> tidak termasuk dalam daftar algoritma yang tersedia atau tidak ada.
MissingKeyConfiguration Elemen <SecretKey>, <PrivateKey>, atau <PublicKey> yang diperlukan tidak ada, bergantung pada algoritme yang digunakan.
EmptyValueElementForKeyConfiguration Elemen turunan <Value> yang diperlukan tidak ditentukan dalam elemen <PrivateKey>, <PublicKey>, atau <SecretKey>
InvalidKeyConfiguration Elemen <PrivateKey> tidak digunakan dengan algoritme keluarga RSA atau elemen <SecretKey> tidak digunakan dengan algoritma Keluarga HS.
EmptyRefAttributeForKeyconfiguration Atribut ref elemen turunan <Value> dari elemen <PrivateKey>, <PublicKey>, atau <SecretKey> kosong.
InvalidVariableNameForKey Nama variabel flow yang ditentukan dalam atribut ref elemen turunan <Value> dari elemen <PrivateKey>, <PublicKey>, atau <SecretKey> tidak berisi awalan private.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "invalid_request"
oauthV2.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GenerateAccesstoken.fault.name = invalid_request
oauthV2.policy_name.fault.cause policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Contoh respons error

Respons ini akan dikirim kembali ke klien jika elemen <GenerateResponse> bernilai true.

Jika <GenerateResponse> bernilai true, kebijakan akan menampilkan error dalam format ini untuk operasi yang menghasilkan token dan kode. Untuk mengetahui daftar lengkapnya, lihat Referensi respons error HTTP OAuth.

{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}

Jika <GenerateResponse> bernilai true, kebijakan akan menampilkan error dalam format ini untuk operasi verifikasi dan validasi. Untuk mengetahui daftar lengkapnya, lihat Referensi respons error HTTP OAuth.

{  
   {  
      "fault":{  
         "faultstring":"Invalid Access Token",
         "detail":{  
            "errorcode":"keymanagement.service.invalid_access_token"
         }
      }
   }

Contoh aturan kesalahan

<FaultRule name=OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientResponse</Name>
        <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition>
    </Step>
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Kebijakan GetOAuthV2Info

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi. Nama error yang ditampilkan di bawah ini adalah string yang ditetapkan ke variabel fault.name ketika terjadi error. Lihat bagian variabel Fault di bawah untuk detail selengkapnya.

Kode kesalahan Status HTTP Penyebab
steps.oauth.v2.access_token_expired 500 Masa berlaku token akses yang dikirim ke kebijakan sudah berakhir.
steps.oauth.v2.authorization_code_expired 500 Kode otorisasi yang dikirim ke kebijakan sudah tidak berlaku.
steps.oauth.v2.invalid_access_token 500 Token akses yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.invalid_client-invalid_client_id 500 Client ID yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.invalid_refresh_token 500 Token refresh yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 Kode otorisasi yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Lihat Verifikasi Token Akses Oauth2.0 menampilkan error "Invalid API call as no apiproduct match found" untuk mendapatkan informasi tentang pemecahan masalah error ini.
steps.oauth.v2.refresh_token_expired 500 Token refresh yang dikirim ke kebijakan sudah tidak berlaku.

Error saat deployment

Lihat pesan yang dilaporkan di UI untuk mengetahui informasi tentang error deployment.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Contoh respons error

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

Contoh aturan kesalahan

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

Menetapkan kebijakan OAuthV2Info

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.oauth.v2.access_token_expired 500 Masa berlaku token akses yang dikirim ke kebijakan sudah berakhir.
steps.oauth.v2.invalid_access_token 500 Token akses yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Lihat Verifikasi Token Akses Oauth2.0 menampilkan error "Invalid API call as no apiproduct match found" untuk mendapatkan informasi tentang pemecahan masalah error ini.

Error saat deployment

Lihat pesan yang dilaporkan di UI untuk mengetahui informasi tentang error deployment.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.SetTokenInfo.cause = Invalid Access Token

Contoh respons error

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Menghapus kebijakan OAuthV2Info

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.oauth.v2.invalid_access_token 401 Token akses yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Kode otorisasi yang dikirim ke kebijakan tidak valid.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Lihat Verifikasi Token Akses Oauth2.0 menampilkan error "Invalid API call as no apiproduct match found" untuk mendapatkan informasi tentang pemecahan masalah error ini.

Error saat deployment

Lihat pesan yang dilaporkan di UI untuk mengetahui informasi tentang error deployment.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Contoh respons error

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Contoh aturan kesalahan

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

Kebijakan PythonScript

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan fault untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.script.ScriptEvaluationFailed 500 Kebijakan PythonScript dapat menampilkan berbagai jenis error ScriptExecutionFailed. Jenis error yang umum ditemui mencakup NameError dan ZeroDivisionError.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidResourceUrlFormat Jika format URL resource yang ditentukan dalam elemen <ResourceURL> atau <IncludeURL> kebijakan PythonScript tidak valid, deployment proxy API akan gagal.
InvalidResourceUrlReference Jika elemen <ResourceURL> atau <IncludeURL> merujuk ke file PythonScript yang tidak ada, deployment proxy API akan gagal. File sumber yang direferensikan harus ada proxy API, lingkungan, atau tingkat organisasi.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. pythonscript.PythonScript-1.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"",
    "detail": {
      "errorcode": "steps.script.ScriptExecutionFailed"
    }
  }
}

Contoh aturan kesalahan

<FaultRule name="PythonScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(pythonscript.PythonScript-1.failed = true) </Condition>
</FaultRule>

Kebijakan kuota

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 Terjadi jika elemen <Interval> tidak ditentukan dalam kebijakan Quota. Elemen ini bersifat wajib dan digunakan untuk menentukan interval waktu yang berlaku untuk kuota. Interval waktu dapat berupa menit, jam, hari, minggu, atau bulan seperti yang ditentukan dengan elemen <TimeUnit>.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 Terjadi jika elemen <TimeUnit> tidak ditentukan dalam kebijakan Quota. Elemen ini bersifat wajib dan digunakan untuk menentukan satuan waktu yang berlaku untuk kuota. Interval waktunya dapat dalam menit, jam, hari, minggu, atau bulan.
policies.ratelimit.InvalidMessageWeight 500 Terjadi jika nilai elemen <MessageWeight> yang ditentukan melalui variabel flow tidak valid (nilai non-bilangan bulat).
policies.ratelimit.QuotaViolation 500 Batas kuota terlampaui. T/A

Error saat deployment

Nama error Penyebab Perbaikan
InvalidQuotaInterval Jika interval kuota yang ditentukan dalam elemen <Interval> bukan bilangan bulat, deployment proxy API akan gagal. Misalnya, jika interval kuota yang ditentukan adalah 0,1 dalam elemen <Interval>, deployment proxy API akan gagal.
InvalidQuotaTimeUnit Jika unit waktu yang ditentukan dalam elemen <TimeUnit> tidak didukung, deployment proxy API akan gagal. Satuan waktu yang didukung adalah minute, hour, day, week, dan month.
InvalidQuotaType Jika jenis kuota yang ditentukan oleh atribut type di elemen <Quota> tidak valid, deployment proxy API akan gagal. Jenis kuota yang didukung adalah default, calendar, flexi, dan rollingwindow.
InvalidStartTime Jika format waktu yang ditentukan dalam elemen <StartTime> tidak valid, deployment proxy API akan gagal. Format yang valid adalah yyyy-MM-dd HH:mm:ss, yang merupakan format tanggal dan waktu ISO 8601. Misalnya, jika waktu yang ditetapkan dalam elemen <StartTime> adalah 7-16-2017 12:00:00, deployment proxy API akan gagal.
StartTimeNotSupported Jika elemen <StartTime> ditentukan yang jenis kuotanya bukan jenis calendar, deployment proxy API akan gagal. Elemen <StartTime> hanya didukung untuk jenis kuota calendar. Misalnya, jika atribut type ditetapkan ke flexi atau rolling window dalam elemen <Quota>, deployment proxy API akan gagal.
InvalidTimeUnitForDistributedQuota Jika elemen <Distributed> disetel ke true dan elemen <TimeUnit> disetel ke second, deployment proxy API akan gagal. Unit waktu second tidak valid untuk kuota yang didistribusikan.
InvalidSynchronizeIntervalForAsyncConfiguration Jika nilai yang ditentukan untuk elemen <SyncIntervalInSeconds> dalam elemen <AsynchronousConfiguration> di kebijakan Quota kurang dari nol, maka deployment proxy API akan gagal.
InvalidAsynchronizeConfigurationForSynchronousQuota Jika nilai elemen <AsynchronousConfiguration> disetel ke true dalam kebijakan Quota, yang juga memiliki konfigurasi asinkron yang ditetapkan menggunakan elemen <AsynchronousConfiguration>, deployment proxy API akan gagal.

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. ratelimit.QT-QuotaPolicy.failed = true

Contoh respons error

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      },
      "faultstring":"Rate limit quota violation. Quota limit  exceeded. Identifier : _default"
   }
}

Contoh aturan kesalahan

<FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "QuotaViolation") </Condition>
        </Step>
        <Condition>ratelimit.Quota-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

Kebijakan ResetQuota

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
policies.resetquota.InvalidRLPolicy 500 Kebijakan Quota yang ditentukan dalam elemen <Quota> kebijakan ResetQuota tidak ditentukan dalam proxy API sehingga tidak tersedia selama alur. Elemen <Quota> bersifat wajib dan mengidentifikasi kebijakan Quota target yang penghitungnya harus diperbarui melalui kebijakan ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef T/A Referensi ke variabel yang berisi jumlah izin dalam elemen <Allow> kebijakan tidak dapat di-resolve menjadi sebuah nilai. Elemen ini bersifat wajib dan menentukan jumlah pengurangan kuota.
policies.resetquota.FailedToResolveRLPolicy 500 Variabel yang direferensikan oleh atribut ref dalam elemen <Quota> tidak dapat di-resolve.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
InvalidCount Jika nilai jumlah yang ditentukan dalam elemen <Allow> Kebijakan ResetQuota bukan bilangan bulat, deployment proxy API akan gagal.

RaiseFaultpolicy

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab
steps.raisefault.RaiseFault 500 Lihat string kesalahan.

Error saat deployment

Tidak ada.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk mengetahui informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahannya, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. raisefault.RF-ThrowError.failed = true

Contoh respons error

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

Kebijakan RegularExpressionProtection

Bagian ini menjelaskan kode dan pesan error yang ditampilkan, serta variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Jika ingin menangkap error dan melaporkan error kustom Anda sendiri, tetapkan atribut continueOnError="true" pada elemen root kebijakan. Untuk mempelajari lebih lanjut, lihat Hal yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode Error Pesan
ExecutionFailed Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1}
InstantiationFailed Failed to instantiate the RegularExpressionProtection StepDefinition {0}
NonMessageVariable Variable {0} does not resolve to a Message
SourceMessageNotAvailable {0} message is not available for RegularExpressionProtection StepDefinition {1}
ThreatDetected Regular Expression Threat Detected in {0}: regex: {1} input: {2}
VariableResolutionFailed Failed to resolve variable {0}

Error saat deployment

Kode Error Pesan Perbaikan
CannotBeConvertedToNodeset RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. Context {2}
DuplicatePrefix RegularExpressionProtection {0}: Duplicate prefix {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: No patterns to enforce in {1}
NothingToEnforce RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory
XPathCompilationFailed RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2}

Variabel kesalahan

Variabel ini ditetapkan saat kebijakan ini memicu error. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum pada tabel di atas. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Kebijakan SAMLAssertion

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaikan
SourceNotConfigured Satu atau beberapa elemen kebijakan ValidateSAMLAssertion berikut tidak ditentukan atau kosong: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured Jika elemen <TrustStore> kosong atau tidak ditentukan dalam kebijakan ValidateSAMLAssertion, deployment proxy API akan gagal. Truststore yang valid wajib diisi.
NullKeyStoreAlias Jika elemen turunan <Alias> kosong atau tidak ditentukan dalam elemen <Keystore> dari kebijakan GenerateSAMLAssertion, deployment proxy API akan gagal. Alias keystore yang valid wajib diisi.
NullKeyStore Jika elemen turunan <Name> kosong atau tidak ditentukan dalam elemen <Keystore> dari kebijakan GenerateSAMLAssertion, deployment proxy API akan gagal. Nama keystore yang valid wajib diisi.
NullIssuer Jika elemen <Issuer> kosong atau tidak ditentukan dalam kebijakan GenerateSAMLAssertion, deployment proxy API akan gagal. Nilai <Issuer> yang valid wajib diisi.

Variabel kesalahan

Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

Variabel Dari mana Contoh
fault.name="fault_name" fault_name adalah nama kesalahannya. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed Untuk konfigurasi kebijakan pernyataan SAML validasi, awalan error-nya adalah ValidateSAMLAssertion. GenerateSAMLAssertion.failed = true

Contoh respons error

{
  "fault": {
    "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type",
    "detail": {
      "errorcode": "steps.saml.generate.InvalidMediaTpe"
    }
  }
}

Contoh aturan kesalahan

<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>

Kebijakan ServiceInfo

Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Error runtime

Error ini dapat terjadi saat kebijakan dieksekusi.

Kode kesalahan Status HTTP Penyebab Perbaikan
steps.servicecallout.ExecutionFailed 500

Error ini dapat terjadi jika:

  • Kebijakan akan diminta untuk menangani input yang salah format atau tidak valid.
  • Layanan target backend menampilkan status error (secara default, 4xx atau 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 Variabel Request yang ditentukan dalam kebijakan bukan jenis Message. Misalnya, jika ini adalah string atau jenis non-pesan lainnya, Anda akan melihat error ini.
steps.servicecallout.RequestVariableNotRequestMessageType 500 Variabel Request yang ditentukan dalam kebijakan bukan jenis RequestMessage. Misalnya, jika ini adalah jenis Respons, Anda akan melihat error ini.
googletoken.EmptyIDTokenAudience 500

<GoogleIDToken> diaktifkan, tetapi useTargetUrl ditetapkan ke salah (false) dan tidak ada nilai yang diberikan ke <Audience> baik secara langsung maupun melalui referensi pada saat terjadi error.

messaging.adaptors.http.filter.GoogleTokenGenerationFailure 500 Error ini dapat terjadi jika proxy API dikonfigurasi dengan elemen <Authentication>. Kemungkinan penyebabnya meliputi:
  • Akun layanan yang di-deploy dengan proxy:
    • tidak ada di project Anda
    • telah dinonaktifkan
    • (Khusus Apigee Hybrid) belum memberikan peran roles/iam.serviceAccountTokenCreator pada akun layanan apigee-runtime.
  • IAMCredentials API dinonaktifkan dalam project sumber akun layanan apigee-runtime.
  • Elemen <GoogleAccessToken> digunakan dan satu atau beberapa cakupan tidak valid disediakan. Misalnya, cari kesalahan ketik atau cakupan kosong.
  • Khusus Apigee Hybrid, periksa log container runtime dan telusuri GoogleTokenGenerationFailure untuk menemukan pesan error lebih detail yang dapat membantu proses debug masalah.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    URLMissing Elemen <URL> di dalam <HTTPTargetConnection> tidak ada atau kosong.
    ConnectionInfoMissing Error ini terjadi jika kebijakan tidak memiliki elemen <HTTPTargetConnection> atau <LocalTargetConnection>.
    InvalidTimeoutValue Error ini terjadi jika nilai <Timeout> negatif atau nol.
    FAILED_PRECONDITION Error ini terjadi jika akun layanan tidak ada saat proxy dikonfigurasikan dengan tag <Authentication>.

    Contoh:

    
    Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service
              account identity, but one was not provided with the request.
    PERMISSION_DENIED Error ini terjadi jika ada masalah izin pada akun layanan jika proxy dikonfigurasi dengan tag <Authentication>. Kemungkinan penyebab:
    • Akun layanan tidak ada.
    • Akun layanan tidak dibuat di project Google Cloud yang sama dengan organisasi Apigee.
    • Deployer memiliki izin iam.serviceAccounts.actAs di akun layanan. Untuk mengetahui detailnya, lihat Tentang izin akun layanan.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "RequestVariableNotMessageType"
    servicecallout.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. servicecallout.SC-GetUserData.failed = true

    Contoh respons error

    {
       "fault":{
          "detail":{
             "errorcode":"steps.servicecallout.RequestVariableNotMessageType"
          },
          "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]:
                request variable data_str value is not of type Message"
       }
    }
    

    Contoh aturan kesalahan

    <faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
        <Step>
            <Name>AM-RequestVariableNotMessageType</Name>
        </Step>
        <Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
    </FaultRule>
    

    Kebijakan SOAPMessageValidation

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Penyebab Perbaikan
    steps.messagevalidation.SourceMessageNotAvailable 500

    Error ini terjadi jika variabel yang ditentukan dalam elemen <Source> kebijakan:

    • di luar cakupan (tidak tersedia di alur spesifik tempat kebijakan sedang dijalankan)
    • atau
    • tidak dapat diselesaikan (tidak ditentukan)
    steps.messagevalidation.NonMessageVariable 500

    Error ini terjadi jika elemen <Source> dalam kebijakan SOAPMessageValidation disetel ke variabel yang bukan jenis pesan.

    Variabel jenis pesan mewakili keseluruhan permintaan dan respons HTTP. Variabel alur Apigee bawaan request, response, dan message adalah jenis pesan. Untuk mempelajari variabel pesan lebih lanjut, baca Referensi variabel.

    steps.messagevalidation.Failed 500 Error ini terjadi jika kebijakan SOAPMessageValidation gagal memvalidasi payload pesan input terhadap skema XSD atau definisi WSDL. Hal ini juga akan terjadi jika ada format JSON atau XML dalam pesan payload dengan format yang salah.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    InvalidResourceType Elemen <ResourceURL> dalam kebijakan SOAPMessageValidation disetel ke jenis resource yang tidak didukung oleh kebijakan tersebut.
    ResourceCompileFailed Skrip resource yang direferensikan dalam elemen <ResourceURL> kebijakan SOAPMessageValidation berisi error yang mencegah kompilasinya.
    RootElementNameUnspecified Elemen <Element> dalam kebijakan SOAPMessageValidation tidak berisi nama elemen root.
    InvalidRootElementName Elemen <Element> dalam kebijakan SOAPMessageValidation berisi nama elemen root yang tidak mematuhi aturan XML untuk penamaan elemen yang valid.

    Kebijakan SpikeArrest

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Penyebab Perbaikan
    policies.ratelimit.FailedToResolveSpikeArrestRate 500 Error ini terjadi jika referensi ke variabel yang berisi setelan tarif dalam elemen <Rate> tidak dapat di-resolve menjadi nilai dalam kebijakan SpikeArrest. Elemen ini bersifat wajib dan digunakan untuk menentukan rasio penangkapan lonjakan dalam bentuk intpm atau intps.
    policies.ratelimit.InvalidMessageWeight 500 Error ini terjadi jika nilai yang ditentukan untuk elemen <MessageWeight> melalui variabel flow tidak valid (nilai non-bilangan bulat).
    policies.ratelimit.SpikeArrestViolation 429 Batas kapasitas terlampaui.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    InvalidAllowedRate Jika rasio penangkapan lonjakan yang ditentukan dalam elemen <Rate> kebijakan SpikeArrest tidak berupa bilangan bulat atau jika tarif tidak memiliki ps atau pm sebagai akhiran, deployment proxy API akan gagal.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahannya, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "SpikeArrestViolation"
    ratelimit.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. ratelimit.SA-SpikeArrestPolicy.failed = true

    Contoh respons error

    Berikut adalah contoh respons error:

    {  
       "fault":{  
          "detail":{  
             "errorcode":"policies.ratelimit.SpikeArrestViolation"
          },
          "faultstring":"Spike arrest violation. Allowed rate : 10ps"
       }
    }
    

    Contoh aturan kesalahan

    Berikut adalah contoh aturan kesalahan untuk menangani kesalahan SpikeArrestViolation:

    <FaultRules>
        <FaultRule name="Spike Arrest Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
            </Step>
            <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

    Kebijakan VerifyAPIKey

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan, serta variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dijalankan.

    Kode kesalahan Status HTTP Penyebab
    keymanagement.service.consumer_key_missing_api_product_association 400

    Kredensial aplikasi tidak memiliki pengaitan produk API. Harap kaitkan penerapan kunci dengan produk API. Perhatikan bahwa ini berlaku untuk semua jenis aplikasi, seperti aplikasi developer dan aplikasi AppGroup.

    keymanagement.service.DeveloperStatusNotActive 401

    Developer yang membuat Aplikasi Developer yang memiliki kunci API yang Anda gunakan memiliki status tidak aktif. Jika status Developer Aplikasi disetel ke tidak aktif, semua Aplikasi Developer yang dibuat oleh developer tersebut akan dinonaktifkan. Pengguna admin dengan izin yang sesuai (seperti Administrator Organisasi) dapat mengubah status developer dengan cara berikut:

    keymanagement.service.invalid_client-app_not_approved 401 Aplikasi Developer yang terkait dengan kunci API dicabut. Aplikasi yang dicabut tidak dapat mengakses produk API apa pun dan tidak dapat memanggil API yang dikelola oleh Apigee. Admin org dapat mengubah status Aplikasi Developer menggunakan Apigee API. Lihat Membuat Pasangan Kunci atau Mengupdate Status Aplikasi Developer.
    oauth.v2.FailedToResolveAPIKey 401 Kebijakan ini mengharapkan untuk menemukan kunci API dalam variabel yang ditentukan dalam elemen <APIKey> kebijakan. Error ini muncul jika variabel yang diharapkan tidak ada (tidak dapat diselesaikan).
    oauth.v2.InvalidApiKey 401 Kunci API diterima oleh Apigee, tetapi tidak valid. Saat Apigee mencari kunci dalam database-nya, kunci tersebut harus sama persis dengan kunci yang dikirim dalam permintaan. Jika API sebelumnya berfungsi, pastikan kunci tidak dibuat ulang. Jika kunci dibuat ulang, Anda akan melihat error ini jika mencoba menggunakan kunci lama. Untuk mengetahui detailnya, lihat Mengontrol akses ke API dengan mendaftarkan aplikasi.
    oauth.v2.InvalidApiKeyForGivenResource 401 Kunci API diterima oleh Apigee, dan kunci tersebut valid; tetapi, kunci tersebut tidak cocok dengan kunci yang disetujui di Aplikasi Developer yang terkait dengan proxy API Anda melalui Produk.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab
    SpecifyValueOrRefApiKey Elemen <APIKey> belum memiliki nilai atau kunci yang ditentukan.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "FailedToResolveAPIKey"
    oauthV2.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. oauthV2.VK-VerifyAPIKey.failed = true

    Contoh respons error

    {
       "fault":{
          "faultstring":"Invalid ApiKey",
          "detail":{
             "errorcode":"oauth.v2.InvalidApiKey"
          }
       }
    }
    
    {
       "fault":{
          "detail":{
             "errorcode":"keymanagement.service.DeveloperStatusNotActive"
          },
          "faultstring":"Developer Status is not Active"
       }
    }
    

    Contoh aturan fault

    <FaultRule name="FailedToResolveAPIKey">
        <Step>
            <Name>AM-FailedToResolveAPIKey</Name>
        </Step>
        <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
    </FaultRule>
    

    Memverifikasi kebijakan JWS

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Terjadi saat
    steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Terjadi saat kebijakan verifikasi memiliki beberapa algoritma
    steps.jws.AlgorithmMismatch 401 Algoritma yang ditentukan dalam header oleh kebijakan Generate tidak cocok dengan yang diharapkan dalam kebijakan Verify. Algoritma yang ditentukan harus cocok.
    steps.jws.ContentIsNotDetached 401 <DetachedContent> ditentukan saat JWS tidak berisi payload konten terpisah.
    steps.jws.FailedToDecode 401 Kebijakan tidak dapat mendekode JWS. JWS mungkin rusak.
    steps.jws.InsufficientKeyLength 401 Untuk kunci kurang dari 32 byte untuk algoritma HS256
    steps.jws.InvalidClaim 401 Karena klaim atau klaim tidak cocok, atau ketidakcocokan header atau header tidak ada.
    steps.jws.InvalidCurve 401 Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Kurva Eliptis.
    steps.jws.InvalidJsonFormat 401 JSON yang tidak valid ditemukan di header JWS.
    steps.jws.InvalidJws 401 Error ini terjadi saat verifikasi tanda tangan JWS gagal.
    steps.jws.InvalidPayload 401 Payload JWS tidak valid.
    steps.jws.InvalidSignature 401 <DetachedContent> dihilangkan dan JWS memiliki payload konten terpisah.
    steps.jws.KeyIdMissing 401 Kebijakan Verify menggunakan JWKS sebagai sumber untuk kunci publik, tetapi JWS yang ditandatangani tidak menyertakan properti kid di header.
    steps.jws.KeyParsingFailed 401 Kunci publik tidak dapat diuraikan dari informasi kunci yang diberikan.
    steps.jws.MissingPayload 401 Payload JWS tidak ada.
    steps.jws.NoAlgorithmFoundInHeader 401 Terjadi saat JWS menghilangkan header algoritma.
    steps.jws.NoMatchingPublicKey 401 Kebijakan Verify menggunakan JWKS sebagai sumber untuk kunci publik, tetapi kid di JWS yang ditandatangani tidak tercantum di JWKS.
    steps.jws.UnhandledCriticalHeader 401 Header yang ditemukan oleh kebijakan Verifikasi JWS di header crit tidak tercantum di KnownHeaders.
    steps.jws.UnknownException 401 Terjadi pengecualian yang tidak diketahui.
    steps.jws.WrongKeyType 401 Jenis kunci yang ditentukan salah. Misalnya, jika Anda menentukan kunci RSA untuk algoritma Kurva Elliptik, atau kunci kurva untuk algoritma RSA.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Terjadi saat
    InvalidAlgorithm Satu-satunya nilai yang valid adalah: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

    EmptyElementForKeyConfiguration

    FailedToResolveVariable

    InvalidConfigurationForActionAndAlgorithmFamily

    InvalidConfigurationForVerify

    InvalidEmptyElement

    InvalidFamiliesForAlgorithm

    InvalidKeyConfiguration

    InvalidNameForAdditionalClaim

    InvalidNameForAdditionalHeader

    InvalidPublicKeyId

    InvalidPublicKeyValue

    InvalidSecretInConfig

    InvalidTypeForAdditionalClaim

    InvalidTypeForAdditionalHeader

    InvalidValueForElement

    InvalidValueOfArrayAttribute

    InvalidVariableNameForSecret

    MissingConfigurationElement

    MissingElementForKeyConfiguration

    MissingNameForAdditionalClaim

    MissingNameForAdditionalHeader

    Kemungkinan error deployment lainnya.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "TokenExpired"
    JWS.failed Semua kebijakan JWS menetapkan variabel yang sama jika terjadi kegagalan. jws.JWS-Policy.failed = true

    Contoh respons error

    Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

    Contoh aturan kesalahan

    <FaultRules>
        <FaultRule name="JWS Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWS.failed=true</Condition>
        </FaultRule>
    </FaultRules>

    Verifikasi kebijakan JWT

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan, serta variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dijalankan.

    Kode kesalahan Status HTTP Terjadi saat
    steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Terjadi saat kebijakan verifikasi memiliki beberapa algoritma.
    steps.jwt.AlgorithmMismatch 401 Algoritma yang ditentukan dalam kebijakan Generate tidak cocok dengan yang diharapkan dalam kebijakan Verify. Algoritma yang ditentukan harus cocok.
    steps.jwt.FailedToDecode 401 Kebijakan tidak dapat mendekode JWT. JWT mungkin rusak.
    steps.jwt.GenerationFailed 401 Kebijakan tidak dapat menghasilkan JWT.
    steps.jwt.InsufficientKeyLength 401 Untuk kunci kurang dari 32 byte untuk algoritma HS256, kurang dari 48 byte untuk algoritma HS386, dan kurang dari 64 byte untuk algoritma HS512.
    steps.jwt.InvalidClaim 401 Jika ada klaim yang tidak ada atau ketidakcocokan klaim, atau ketidakcocokan header atau header tidak ada.
    steps.jwt.InvalidConfiguration 401 Elemen <Algorithm> dan <Algorithms> ada.
    steps.jwt.InvalidCurve 401 Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Kurva Eliptik.
    steps.jwt.InvalidIterationCount 401 Jumlah iterasi yang digunakan dalam JWT terenkripsi tidak sama dengan jumlah iterasi yang ditentukan dalam konfigurasi kebijakan VerifyJWT. Ini hanya berlaku untuk JWT yang menggunakan <PasswordKey>.
    steps.jwt.InvalidJsonFormat 401 Terdapat JSON yang tidak valid di header atau payload.
    steps.jwt.InvalidKeyConfiguration 401 JWKS dalam elemen <PublicKey> tidak valid. Alasannya mungkin karena endpoint URI JWKS tidak dapat dijangkau dari instance Apigee. Uji konektivitas ke endpoint dengan membuat proxy passthrough dan menggunakan endpoint JWKS sebagai target.
    steps.jwt.InvalidSaltLength 401 Panjang salt yang digunakan dalam JWT terenkripsi tidak sama dengan panjang salt yang ditentukan dalam konfigurasi kebijakan VerifyJWT. Ini hanya berlaku untuk JWT yang menggunakan <PasswordKey>.
    steps.jwt.InvalidPasswordKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
    steps.jwt.InvalidPrivateKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
    steps.jwt.InvalidPublicKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
    steps.jwt.InvalidSecretKey 401 Kunci yang ditentukan tidak memenuhi persyaratan.
    steps.jwt.InvalidToken 401 Error ini terjadi saat verifikasi tanda tangan JWT gagal.
    steps.jwt.JwtAudienceMismatch 401 Klaim audiens gagal pada verifikasi token.
    steps.jwt.JwtIssuerMismatch 401 Klaim penerbit gagal pada verifikasi token.
    steps.jwt.JwtSubjectMismatch 401 Klaim subjek gagal pada verifikasi token.
    steps.jwt.KeyIdMissing 401 Kebijakan Verify menggunakan JWKS sebagai sumber untuk kunci publik, tetapi JWT yang ditandatangani tidak menyertakan properti kid di header.
    steps.jwt.KeyParsingFailed 401 Kunci publik tidak dapat diuraikan dari informasi penting yang diberikan.
    steps.jwt.NoAlgorithmFoundInHeader 401 Terjadi saat JWT tidak berisi header algoritma.
    steps.jwt.NoMatchingPublicKey 401 Kebijakan Verify menggunakan JWKS sebagai sumber untuk kunci publik, tetapi kid di JWT yang ditandatangani tidak tercantum di JWKS.
    steps.jwt.SigningFailed 401 Di GenerateJWT, untuk kunci yang lebih kecil dari ukuran minimum algoritma HS384 atau HS512
    steps.jwt.TokenExpired 401 Kebijakan ini mencoba memverifikasi token yang sudah habis masa berlakunya.
    steps.jwt.TokenNotYetValid 401 Token belum valid.
    steps.jwt.UnhandledCriticalHeader 401 Header yang ditemukan oleh kebijakan Verifikasi JWT di header crit tidak tercantum di KnownHeaders.
    steps.jwt.UnknownException 401 Terjadi pengecualian yang tidak diketahui.
    steps.jwt.WrongKeyType 401 Jenis kunci yang ditentukan salah. Misalnya, jika Anda menentukan kunci RSA untuk algoritma Elliptic Curve, atau kunci kurva untuk algoritma RSA.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    InvalidNameForAdditionalClaim Deployment akan gagal jika klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> adalah salah satu nama terdaftar berikut: kid, iss, sub, aud, iat, exp, nbf, atau jti.
    InvalidTypeForAdditionalClaim Jika klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> bukan jenis string, number, boolean, atau map, deployment akan gagal.
    MissingNameForAdditionalClaim Jika nama klaim tidak ditentukan dalam elemen turunan <Claim> dari elemen <AdditionalClaims>, deployment akan gagal.
    InvalidNameForAdditionalHeader Error ini terjadi jika nama klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> adalah alg atau typ.
    InvalidTypeForAdditionalHeader Jika jenis klaim yang digunakan dalam elemen turunan <Claim> dari elemen <AdditionalClaims> bukan jenis string, number, boolean, atau map, deployment akan gagal.
    InvalidValueOfArrayAttribute Error ini terjadi jika nilai atribut array dalam elemen turunan <Claim> dari elemen <AdditionalClaims> tidak ditetapkan ke true atau false.
    InvalidValueForElement Jika nilai yang ditentukan dalam elemen <Algorithm> bukan nilai yang didukung, deployment akan gagal.
    MissingConfigurationElement Error ini akan terjadi jika elemen <PrivateKey> tidak digunakan dengan algoritma keluarga RSA atau elemen <SecretKey> tidak digunakan dengan algoritma Keluarga HS.
    InvalidKeyConfiguration Jika elemen turunan <Value> tidak ditetapkan dalam elemen <PrivateKey> atau <SecretKey>, deployment akan gagal.
    EmptyElementForKeyConfiguration Jika atribut referensi elemen turunan <Value> dari elemen <PrivateKey> atau <SecretKey> kosong atau tidak ditentukan, deployment akan gagal.
    InvalidConfigurationForVerify Error ini terjadi jika elemen <Id> ditentukan dalam elemen <SecretKey>.
    InvalidEmptyElement Error ini terjadi jika elemen <Source> dari kebijakan Verify JWT kosong. Jika ada, ini harus ditentukan dengan nama variabel flow Apigee.
    InvalidPublicKeyValue Jika nilai yang digunakan dalam elemen turunan <JWKS> dari elemen <PublicKey> tidak menggunakan format valid seperti yang ditentukan dalam RFC 7517, deployment akan gagal.
    InvalidConfigurationForActionAndAlgorithm Jika elemen <PrivateKey> digunakan dengan algoritma HS Family atau elemen <SecretKey> digunakan dengan algoritma RSA Family, deployment akan gagal.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahannya, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "InvalidToken"
    JWT.failed Semua kebijakan JWT menetapkan variabel yang sama jika terjadi kegagalan. JWT.failed = true

    Contoh respons error

    Kode Kesalahan Kebijakan JWT

    Untuk penanganan error, praktik terbaiknya adalah menjebak bagian errorcode dari respons error. Jangan mengandalkan teks di faultstring, karena dapat berubah.

    Contoh aturan kesalahan

        <FaultRules>
            <FaultRule name="JWT Policy Errors">
                <Step>
                    <Name>JavaScript-1</Name>
                    <Condition>(fault.name Matches "InvalidToken")</Condition>
                </Step>
                <Condition>JWT.failed=true</Condition>
            </FaultRule>
        </FaultRules>
        

    Kebijakan XMLThreatProtection

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Penyebab Perbaikan
    steps.xmlthreatprotection.ExecutionFailed 500 Kebijakan XMLThreatProtection dapat menampilkan berbagai jenis error ExecutionFailed. Sebagian besar error ini terjadi saat nilai minimum tertentu yang ditetapkan dalam kebijakan terlampaui. Jenis error ini mencakup: panjang nama elemen, jumlah turunan, kedalaman node, jumlah atribut, panjang nama atribut, dan banyak lagi. Anda dapat melihat daftar lengkapnya di topik Pemecahan masalah error runtime kebijakan XMLThreatProtection.
    steps.xmlthreatprotection.InvalidXMLPayload 500 Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection bukan Dokumen XML yang valid.
    steps.xmlthreatprotection.SourceUnavailable 500 Error ini terjadi jika variabel message yang ditentukan dalam elemen <Source> adalah:
    • Di luar cakupan (tidak tersedia di alur spesifik tempat kebijakan sedang dijalankan)
    • Bukan salah satu dari nilai request, response, atau message yang valid
    steps.xmlthreatprotection.NonMessageVariable 500 Error ini terjadi jika elemen <Source> ditetapkan ke variabel yang bukan jenis pesan.

    Error saat deployment

    Tidak ada.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name Matches "SourceUnavailable"
    xmlattack.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. xmlattack.XPT-SecureRequest.failed = true

    Contoh respons error

    {
      "fault": {
        "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2",
        "detail": {
          "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
      }
    }
    

    Contoh aturan kesalahan

    <FaultRule name="XML Threat Protection Policy Faults">
        <Step>
            <Name>AM-CustomErrorResponse</Name>
            <Condition>(fault.name Matches "ExecutionFailed") </Condition>
        </Step>
        <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
    </FaultRule>
    

    Kebijakan XMLtoJSON

    Bagian ini menjelaskan kode kesalahan dan pesan error yang ditampilkan dan variabel kesalahan yang disetel oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda mengembangkan aturan kesalahan untuk menangani kesalahan. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Penyebab Perbaikan
    steps.xmltojson.ExecutionFailed ExecutionFailed Error ini terjadi jika payload input (XML) kosong atau XML input tidak valid atau formatnya salah.
    steps.xmltojson.InCompatibleTypes ExecutionFailed Error ini terjadi jika jenis variabel yang ditentukan dalam elemen <Source> dan elemen <OutputVariable> tidak sama. Jenis variabel yang ada dalam elemen <Source> dan elemen <OutputVariable> harus cocok.
    steps.xmltojson.InvalidSourceType ExecutionFailed Error ini terjadi jika jenis variabel yang digunakan untuk menetapkan elemen <Source> tidak valid.Jenis variabel yang valid adalah pesan dan string.
    steps.xmltojson.OutputVariableIsNotAvailable ExecutionFailed Error ini terjadi jika variabel yang ditentukan dalam elemen <Source> kebijakan XML ke JSON adalah string jenis dan elemen <OutputVariable> tidak ditentukan. Elemen <OutputVariable> bersifat wajib jika variabel yang ditentukan dalam elemen <Source> adalah string jenis.
    steps.xmltojson.SourceUnavailable ExecutionFailed Error ini terjadi jika variabel message yang ditentukan dalam elemen <Source> dari kebijakan XML ke JSON adalah:
    • Di luar cakupan (tidak tersedia dalam alur spesifik tempat kebijakan dijalankan) atau
    • Tidak dapat diselesaikan (tidak ditentukan)

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    EitherOptionOrFormat Jika salah satu elemen <Options> atau <Format> tidak dideklarasikan dalam Kebijakan XML ke JSON, deployment proxy API akan gagal.
    UnknownFormat Jika elemen <Format> dalam kebijakan XML ke JSON memiliki format yang tidak diketahui, deployment proxy API akan gagal. Format yang telah ditentukan sebelumnya meliputi: xml.com, yahoo, google, dan badgerFish.

    Variabel kesalahan

    Variabel ini ditetapkan saat terjadi error runtime. Untuk informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.

    Variabel Dari mana Contoh
    fault.name="fault_name" fault_name adalah nama kesalahan, seperti yang tercantum dalam tabel Error runtime di atas. Nama kesalahan adalah bagian terakhir dari kode kesalahan. fault.name = "SourceUnavailable"
    xmltojson.policy_name.failed policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan kesalahan. xmltojson.XMLtoJSON-1.failed = true

    Contoh respons error

    {
      "fault": {
        "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available",
        "detail": {
          "errorcode": "steps.xml2json.SourceUnavailable"
        }
      }
    }
    

    Contoh aturan kesalahan

    <faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults">
        <Step>
            <Name>AM-SourceUnavailableMessage</Name>
            <Condition>(fault.name Matches "SourceUnavailable") </Condition>
        </Step>
        <Step>
            <Name>AM-BadXML</Name>
            <Condition>(fault.name = "ExecutionFailed")</Condition>
        </Step>
        <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition>
    </FaultRule>
    

    Kebijakan XSLTransform

    Error runtime

    Error ini dapat terjadi saat kebijakan dieksekusi.

    Kode kesalahan Status HTTP Penyebab Perbaikan
    steps.xsl.XSLSourceMessageNotAvailable 500 Error ini terjadi jika variabel string atau pesan yang ditentukan dalam elemen <Source> kebijakan XSLTransform berada di luar cakupan (tidak tersedia di alur spesifik tempat kebijakan dijalankan) atau tidak dapat diselesaikan (tidak ditentukan).
    steps.xsl.XSLEvaluationFailed 500 Error ini terjadi jika payload XML input tidak tersedia/salah format atau kebijakan XSLTransform gagal/tidak dapat mengubah file XML input berdasarkan aturan transformasi yang disediakan dalam file XSL. Ada berbagai penyebab gagalnya kebijakan XSLTransform. Alasan kegagalan dalam pesan error akan memberikan informasi selengkapnya tentang penyebabnya.

    Error saat deployment

    Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

    Nama error Penyebab Perbaikan
    XSLEmptyResourceUrl Jika elemen <ResourceURL> dalam kebijakan XSLTransform kosong, deployment proxy API akan gagal.
    XSLInvalidResourceType Jika jenis resource yang ditentukan dalam elemen <ResourceURL> kebijakan XSLTransform bukan jenis xsl, deployment proxy API akan gagal.