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 . |
build |
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 error.
Error runtime
Tidak ada.
Error saat deployment
Nama error | String error | Status HTTP | Terjadi saat |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
T/A | Jenis entitas yang digunakan harus berupa 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 Variabel jenis pesan mewakili keseluruhan permintaan dan respons HTTP. Variabel alur Apigee bawaan |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Error ini terjadi jika variabel yang ditentukan dalam kebijakan ProvideMessage:
|
build |
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.
|
build |
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.
|
build |
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 ). |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
Variabel sumber yang diperlukan untuk dekode atau enkode tidak ada. Error ini hanya dapat terjadi jika IgnoreUnresolvedVariables bernilai salah (false). |
build |
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. |
build |
PasswordRequired |
Elemen <Password> harus ada untuk operasi yang diberi nama. |
build |
AssignToRequired |
Elemen <AssignTo> harus ada untuk operasi yang diberi nama. |
build |
SourceRequired |
Elemen <Source> harus ada untuk operasi yang diberi nama. |
build |
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | Status HTTP | Terjadi saat |
---|---|---|
steps.jws.FailedToDecode |
401 |
Kebijakan tidak dapat mendekode JWS. JWS mungkin rusak. |
steps.jws.FailedToResolveVariable |
401 |
Terjadi saat variabel alur yang ditentukan dalam elemen <Source>
kebijakan tidak ada. |
steps.jws.InvalidClaim |
401 |
Untuk klaim yang tidak ada atau ketidakcocokan klaim, atau header yang tidak ada atau ketidakcocokan header. |
steps.jws.InvalidJsonFormat |
401 |
JSON 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 yang 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 . |
|
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. | build |
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. |
build |
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.
|
build |
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
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:
|
build |
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. |
build |
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. |
build |
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. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
Error ini terjadi jika variabel message
yang ditentukan dalam elemen Source kebijakan
adalah:
|
build |
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. | build |
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. |
build |
NONEmptyPrefixMappedToEmptyURI |
Error ini terjadi jika kebijakan memiliki awalan yang ditentukan dalam elemen
Namespace di bagian elemen XMLPayload , tetapi tidak ada URI
yang ditentukan. |
build |
DuplicatePrefix |
Error ini terjadi jika kebijakan memiliki awalan yang sama yang ditentukan lebih dari
sekali dalam elemen Namespace pada elemen XMLPayload . |
build |
NoXPathsToEvaluate |
Jika kebijakan tidak memiliki elemen XPath dalam elemen
XMLPayload , deployment proxy API akan gagal dengan error ini.
|
build |
EmptyXPathExpression |
Jika kebijakan memiliki ekspresi XPath kosong dalam elemen XMLPayload , deployment proxy API akan gagal. |
build |
NoJSONPathsToEvaluate |
Jika kebijakan tidak memiliki elemen JSONPath dalam elemen
JSONPayload , deployment proxy API akan gagal dengan error ini. |
build |
EmptyJSONPathExpression |
Jika kebijakan memiliki ekspresi XPath kosong dalam elemen
XMLPayload , deployment proxy API akan gagal. |
build |
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. |
build |
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. |
build |
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. |
build |
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. |
build |
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.
|
build |
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | Status HTTP | Terjadi saat |
---|---|---|
steps.jws.GenerationFailed |
401 |
Kebijakan tidak dapat membuat JWS. |
steps.jws.InsufficientKeyLength |
401 |
Untuk kunci kurang dari 32 byte untuk algoritma HS256 |
steps.jws.InvalidClaim |
401 |
Untuk klaim yang tidak ada atau ketidakcocokan klaim, atau header yang tidak ada atau ketidakcocokan header. |
steps.jws.InvalidCurve |
401 |
Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Elliptic Curve. |
steps.jws.InvalidJsonFormat |
401 |
JSON 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 yang terpisah. |
steps.jws.KeyIdMissing |
401 |
Kebijakan Verifikasi menggunakan JWKS sebagai sumber 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 |
Di 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 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 | Terjadi saat |
---|---|
InvalidAlgorithm |
Satu-satunya nilai yang valid adalah: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | Status HTTP | Terjadi saat |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Terjadi saat kebijakan verifikasi memiliki beberapa algoritma. |
steps.jwt.AlgorithmMismatch |
401 |
Algoritma yang ditentukan dalam kebijakan Buat tidak cocok dengan algoritma 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 membuat 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 |
Untuk klaim yang tidak ada atau ketidakcocokan klaim, atau header yang tidak ada atau ketidakcocokan header. |
steps.jwt.InvalidConfiguration |
401 |
Elemen <Algorithm> dan <Algorithms>
ada. |
steps.jwt.InvalidCurve |
401 |
Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Elliptic Curve. |
steps.jwt.InvalidJsonFormat |
401 |
JSON 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 dalam verifikasi token. |
steps.jwt.JwtIssuerMismatch |
401 |
Klaim penerbit gagal dalam verifikasi token. |
steps.jwt.JwtSubjectMismatch |
401 |
Klaim subjek gagal dalam 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 dalam 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 mencoba memverifikasi token yang sudah tidak berlaku. |
steps.jwt.TokenNotYetValid |
401 |
Token belum valid. |
steps.jwt.UnhandledCriticalHeader |
401 |
Header yang ditemukan oleh kebijakan Verifikasi JWT di header crit tidak
tercantum dalam 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 | Perbaiki |
---|---|---|
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 .
|
build |
InvalidTypeForAdditionalClaim |
Jika klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> bukan dari jenis string , number ,
boolean , atau map , deployment akan gagal.
|
build |
MissingNameForAdditionalClaim |
Jika nama klaim tidak ditentukan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> , deployment akan gagal.
|
build |
InvalidNameForAdditionalHeader |
Error ini terjadi saat nama klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> adalah alg atau typ .
|
build |
InvalidTypeForAdditionalHeader |
Jika jenis klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> bukan dari jenis string , number ,
boolean , atau map , deployment akan gagal.
|
build |
InvalidValueOfArrayAttribute |
Error ini terjadi jika nilai atribut array di elemen turunan <Claim>
dari elemen <AdditionalClaims> tidak ditetapkan ke true atau false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jika elemen <PrivateKey> digunakan dengan algoritma Keluarga HS atau
elemen <SecretKey> digunakan dengan algoritma Keluarga RSA, deployment
akan gagal.
|
build |
InvalidValueForElement |
Jika nilai yang ditentukan dalam elemen <Algorithm> bukan nilai yang didukung, deployment akan gagal.
|
build |
MissingConfigurationElement |
Error ini akan terjadi jika elemen <PrivateKey> tidak digunakan dengan
algoritma keluarga RSA atau elemen <SecretKey> tidak digunakan dengan algoritma
Keluarga HS.
|
build |
InvalidKeyConfiguration |
Jika elemen turunan <Value> tidak ditentukan dalam elemen <PrivateKey>
atau <SecretKey> , deployment akan gagal.
|
build |
EmptyElementForKeyConfiguration |
Jika atribut ref dari elemen turunan <Value> dari elemen <PrivateKey>
atau <SecretKey> kosong atau tidak ditentukan, deployment akan gagal.
|
build |
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.) .
|
build |
InvalidSecretInConfig |
Error ini terjadi jika elemen turunan <Value> dari elemen <PrivateKey>
atau <SecretKey> tidak berisi awalan pribadi (private.) .
|
build |
InvalidTimeFormat |
Jika nilai yang ditentukan dalam elemen <NotBefore> tidak menggunakan format yang didukung, deployment akan gagal.
|
build |
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
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 . |
build |
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. |
build |
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. |
build |
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. |
build |
WrongResourceType |
Error ini terjadi selama deployment jika elemen <ResourceURL> atau <IncludeURL> dari kebijakan JavaScript merujuk ke jenis resource apa pun selain jsc (file JavaScript ). |
build |
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> . |
build |
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.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Error ini terjadi jika variabel message
yang ditentukan dalam elemen <Source> adalah:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Error ini terjadi jika elemen <Source> ditetapkan ke variabel yang
bukan jenis
pesan.
|
build |
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. | build |
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 . |
build |
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 . |
build |
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. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Error ini terjadi jika variabel message
yang ditentukan dalam elemen <Source> dari kebijakan JSON ke XML adalah:
|
build |
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | Status HTTP | Penyebab | Perbaiki |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Error ini terjadi jika atribut |
build |
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaiki |
---|---|---|
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 nol atau bilangan bulat negatif dianggap tidak valid.
|
build |
KeyIsMissing |
Error ini terjadi jika elemen <Key> benar-benar tidak ada atau elemen <Parameter> tidak ada dalam elemen <Key> di bawah <Entry> elemen <InitialEntries> kebijakan KeyValueMapOperations .
|
build |
ValueIsMissing |
Error ini terjadi jika elemen <Value> tidak ada di bawah elemen <Entry> dari elemen <InitialEntries> kebijakan KeyValueMapOperations . |
build |
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. |
build |
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. |
build |
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 |
steps.oasvalidation.NonMessageVariable |
500 |
Elemen |
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. |
build |
CacheNotFound |
Cache yang ditentukan dalam elemen <CacheResource> tidak ada. |
build |
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. |
build |
InvalidTimeout |
Jika elemen <CacheLookupTimeoutInSeconds> disetel ke
angka negatif, deployment proxy API akan gagal. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu. | build |
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. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu. | build |
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 jika Anda mengembangkan aturan error untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Awalan kode error
T/A
Error runtime
Kebijakan ini tidak menampilkan error runtime.
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaiki |
---|---|---|
InvalidTimeout |
Jika elemen <CacheLookupTimeoutInSeconds> kebijakan ResponseCache ditetapkan ke bilangan negatif, deployment proxy API akan gagal. |
build |
InvalidCacheResourceReference |
Error ini terjadi jika elemen <CacheResource> dalam kebijakan ResponseCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur permintaan dalam alur proxy API. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur respons dalam alur proxy API. |
build |
InvalidMessagePatternForErrorCode |
Error ini terjadi jika elemen <SkipCacheLookup> atau <SkipCachePopulation>
dalam kebijakan ResponseCache berisi kondisi yang tidak valid. |
build |
CacheNotFound |
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error belum dibuat di komponen Message Processor tertentu. | build |
Variabel error
T/A
Contoh respons error
T/A
kebijakan OAuthV2
Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | Status HTTP | Penyebab | Ditampilkan oleh operasi |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
Masa berlaku token akses telah berakhir. |
|
steps.oauth.v2.access_token_not_approved |
401 |
Token akses telah dicabut. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
Resource yang diminta tidak ada produk API yang terkait dengan token akses. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
Kebijakan diharapkan menemukan token akses dalam variabel yang ditentukan dalam elemen <AccessToken> , tetapi variabel tersebut tidak dapat di-resolve. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
Kebijakan diharapkan menemukan kode otorisasi dalam variabel yang ditentukan dalam elemen <Code> , tetapi variabel tersebut tidak dapat di-resolve. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
Kebijakan diharapkan 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 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 tidak dapat di-resolve. |
|
steps.oauth.v2.InsufficientScope |
403 | Token akses yang ditampilkan dalam permintaan memiliki cakupan yang tidak cocok dengan cakupan yang ditentukan dalam kebijakan token akses verifikasi. 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 saat properti |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Nama error ini digunakan untuk beberapa jenis error, biasanya untuk parameter yang tidak ada atau salah yang dikirim dalam permintaan. Jika <GenerateResponse>
ditetapkan ke false , gunakan variabel error (dijelaskan di bawah) untuk mengambil detail tentang
error, seperti nama dan penyebab error. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
Header otorisasi tidak memiliki kata Bearer , yang diperlukan. Misalnya: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Proxy atau operasi 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 digunakan dengan benar. Lihat Mengelola produk API untuk mengetahui detailnya. Lihat juga Verifikasi Token Akses Oauth2.0 menampilkan error "Panggilan API tidak valid karena tidak ada kecocokan apiproduct" untuk panduan selengkapnya tentang penyebab error ini. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Nama error ini ditampilkan saat properti |
|
steps.oauth.v2.InvalidParameter |
500 |
Kebijakan 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 respons adalah token , tetapi tidak ada jenis pemberian yang ditentukan. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Klien menentukan jenis hibah yang tidak didukung oleh kebijakan (tidak tercantum dalam elemen |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Error runtime khusus token JWT
Kode dan deskripsi error runtime untuk alur token autentikasi JWT bergantung pada konteks alur OAuth2:
- Jika konteks alur adalah pembuatan atau pembaruan token, lihat Kode error untuk alur pembuatan dan pembaruan token JWT di bawah.
- Untuk alur verifikasi token, lihat Kode error untuk alur verifikasi token di bawah.
Kode error untuk alur pembuatan dan pembaruan token JWT
Untuk alur OAuth2 yang membuat atau memperbarui token JWT, respons error mematuhi respons error yang ditentukan dalam RFC6749. Untuk mengetahui detailnya, lihat Bagian 5.2 Respons Error.
Kode error untuk alur verifikasi token
Kode error yang tercantum dalam tabel berikut hanya berlaku untuk operasi VerifyAccessToken.
Kode kerusakan | Status HTTP | Penyebab | Ditampilkan oleh operasi |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
Kebijakan tidak dapat menandatangani JWT. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
Hal ini terjadi jika algoritma tidak ada di token akses JWT atau jika nilai tidak didukung. |
|
oauth.v2.InsufficientKeyLength |
401 |
Dalam Pembuatan JWT, untuk kunci yang kurang dari ukuran minimum untuk algoritma HS384 atau HS512 |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
Algoritma yang ditentukan dalam kebijakan Buat tidak cocok dengan algoritma yang diharapkan dalam kebijakan Verifikasi. Algoritma yang ditentukan harus cocok. |
|
oauth.v2.JWTDecodingFailed |
401 |
Kebijakan tidak dapat mendekode JWT. JWT mungkin rusak. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Terjadi saat klaim yang diperlukan tidak ada di Token Akses Jwt |
|
oauth.v2.InvalidJWTSignature |
401 |
Hal ini terjadi jika tanda tangan token akses JWT tidak dapat diverifikasi atau jika tanda tangan tidak valid. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
Terjadi saat jenis JWT bukan at+Jwt |
|
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab |
---|---|
InvalidValueForExpiresIn |
Untuk elemen |
InvalidValueForRefreshTokenExpiresIn |
Untuk elemen <RefreshTokenExpiresIn> , nilai yang valid adalah bilangan bulat positif dan -1 . |
InvalidGrantType |
Jenis pemberian yang tidak valid ditentukan di elemen <SupportedGrantTypes> . Lihat referensi kebijakan untuk mengetahui daftar jenis yang valid. |
ExpiresInNotApplicableForOperation |
Pastikan operasi yang ditentukan dalam elemen <Operations> mendukung masa berlaku. Misalnya, operasi VerifyToken tidak. |
RefreshTokenExpiresInNotApplicableForOperation |
Pastikan operasi yang ditentukan dalam elemen <Operations> mendukung masa berlaku
token refresh. Misalnya, operasi VerifyToken tidak. |
GrantTypesNotApplicableForOperation |
Pastikan jenis hibah yang ditentukan di <SupportedGrantTypes> didukung untuk
operasi yang ditentukan. |
OperationRequired |
Anda harus menentukan operasi dalam kebijakan ini menggunakan elemen |
InvalidOperation |
Anda harus menentukan operasi yang valid dalam kebijakan ini menggunakan elemen |
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 |
Algoritma yang ditentukan dalam elemen <Algorithm> tidak ada dalam daftar algoritma yang tersedia atau tidak ada. |
MissingKeyConfiguration |
Elemen <SecretKey> , <PrivateKey> , atau
<PublicKey> yang diperlukan tidak ada, bergantung pada algoritma yang digunakan. |
EmptyValueElementForKeyConfiguration |
Elemen turunan <Value> yang diperlukan tidak ditentukan dalam
elemen <PrivateKey> , <PublicKey> , atau <SecretKey> |
InvalidKeyConfiguration |
Elemen <PrivateKey> tidak digunakan dengan algoritma keluarga RSA atau elemen
<SecretKey> tidak digunakan dengan algoritma Keluarga HS. |
EmptyRefAttributeForKeyconfiguration |
Atribut ref dari elemen turunan <Value> dari elemen <PrivateKey> , <PublicKey> , atau <SecretKey> kosong. |
InvalidVariableNameForKey |
Nama variabel alur yang ditentukan dalam atribut ref dari elemen
turunan <Value> dari elemen <PrivateKey> ,
<PublicKey> , atau <SecretKey> tidak
berisi awalan private . |
Variabel error
Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.
Variabel | Dari mana | Contoh |
---|---|---|
fault.name="fault_name" |
fault_name adalah nama error, seperti yang tercantum dalam tabel Runtime errors di atas. Nama kerusakan adalah bagian terakhir dari kode kerusakan. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
|
oauthV2.policy_name.fault.cause |
policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Contoh respons error
Respons ini dikirim kembali ke klien jika elemen <GenerateResponse>
bernilai true.
Jika <GenerateResponse>
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>
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 error
<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. | build |
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. |
build |
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. |
build |
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> . |
build |
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. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Terjadi jika nilai elemen <MessageWeight> yang ditentukan melalui variabel flow
tidak valid (nilai non-bilangan bulat). |
build |
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.
|
build |
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 .
|
build |
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 .
|
build |
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.
|
build |
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.
|
build |
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. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Jika nilai yang ditentukan untuk elemen <SyncIntervalInSeconds> dalam elemen
<AsynchronousConfiguration> di kebijakan Quota kurang dari nol, maka
deployment proxy API akan gagal. |
build |
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. |
build |
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 . |
build |
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. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
Variabel yang direferensikan oleh atribut ref dalam elemen <Quota> tidak dapat di-resolve. |
build |
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.
|
build |
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} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaiki |
---|---|---|
SourceNotConfigured |
Satu atau beberapa elemen berikut dari kebijakan ValidateSAMLAssertion
tidak ditentukan atau kosong: <Source> , <XPath> ,
<Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Jika elemen <TrustStore> kosong atau tidak ditentukan dalam kebijakan ValidateSAMLAssertion , deployment proxy API akan gagal.
Truststore yang valid diperlukan.
|
build |
NullKeyStoreAlias |
Jika elemen turunan <Alias> kosong atau tidak ditentukan dalam elemen <Keystore>
kebijakan GenerateSAMLAssertion , deployment proxy
API akan gagal. Alias keystore yang valid wajib diisi.
|
build |
NullKeyStore |
Jika elemen turunan <Name> kosong atau tidak ditentukan dalam elemen <Keystore>
kebijakan GenerateSAMLAssertion , deployment proxy
API akan gagal. Nama keystore yang valid wajib diisi.
|
build |
NullIssuer |
Jika elemen <Issuer> kosong atau tidak ditentukan dalam kebijakan GenerateSAMLAssertion , deployment proxy API akan gagal. Nilai
<Issuer> yang valid diperlukan.
|
build |
Variabel error
Variabel ini ditetapkan saat error runtime terjadi. Untuk mengetahui informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.
Variabel | Dari mana | Contoh |
---|---|---|
fault.name="fault_name" |
fault_name adalah nama error. Nama kerusakan adalah bagian terakhir dari kode kerusakan. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Untuk konfigurasi kebijakan pernyataan SAML yang valid, 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 error
<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:
|
build |
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. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
Variabel Request yang ditentukan dalam kebijakan bukan jenis RequestMessage . Misalnya, jika ini adalah jenis Respons, Anda akan melihat error ini. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Error ini dapat terjadi jika proxy API dikonfigurasi dengan elemen <Authentication>. Kemungkinan penyebabnya meliputi:
<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
|
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. |
build |
ConnectionInfoMissing |
Error ini terjadi jika kebijakan tidak memiliki elemen
<HTTPTargetConnection> atau
<LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Error ini terjadi jika nilai <Timeout> negatif atau nol. |
build |
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:
|
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
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Error ini terjadi jika elemen Variabel jenis pesan mewakili keseluruhan permintaan dan respons HTTP. Variabel alur Apigee bawaan |
build |
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. | build |
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.
|
build |
ResourceCompileFailed |
Skrip resource yang direferensikan dalam elemen <ResourceURL> kebijakan SOAPMessageValidation berisi error yang mencegah kompilasinya.
|
build |
RootElementNameUnspecified |
Elemen <Element> dalam kebijakan SOAPMessageValidation tidak berisi nama elemen root. |
build |
InvalidRootElementName |
Elemen <Element> dalam kebijakan SOAPMessageValidation berisi nama elemen root yang tidak mematuhi aturan XML untuk penamaan elemen yang valid. |
build |
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 . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Error ini terjadi jika nilai yang ditentukan untuk elemen <MessageWeight> melalui
variabel flow tidak valid (nilai non-bilangan bulat). |
build |
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. |
build |
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 . |
|
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 error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dijalankan.
Kode kerusakan | 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 algoritma 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 membuat 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 |
Untuk klaim yang tidak ada atau ketidakcocokan klaim, atau header yang tidak ada atau ketidakcocokan header. |
steps.jwt.InvalidConfiguration |
401 |
Elemen <Algorithm> dan <Algorithms>
ada. |
steps.jwt.InvalidCurve |
401 |
Kurva yang ditentukan oleh kunci tidak valid untuk algoritma Elliptic Curve. |
steps.jwt.InvalidIterationCount |
401 |
Jumlah iterasi yang digunakan dalam JWT terenkripsi tidak sama dengan jumlah iterasi yang ditentukan dalam konfigurasi kebijakan VerifyJWT. Hal ini hanya berlaku untuk JWT yang
menggunakan <PasswordKey> . |
steps.jwt.InvalidJsonFormat |
401 |
JSON tidak valid ditemukan 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. Hal 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 dalam verifikasi token. |
steps.jwt.JwtIssuerMismatch |
401 |
Klaim penerbit gagal dalam verifikasi token. |
steps.jwt.JwtSubjectMismatch |
401 |
Klaim subjek gagal dalam verifikasi token. |
steps.jwt.KeyIdMissing |
401 |
Kebijakan Verify menggunakan JWKS sebagai sumber 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 Verify menggunakan JWKS sebagai sumber untuk kunci publik, tetapi kid
dalam JWT yang ditandatangani tidak tercantum dalam 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 mencoba memverifikasi token yang sudah tidak berlaku. |
steps.jwt.TokenNotYetValid |
401 |
Token belum valid. |
steps.jwt.UnhandledCriticalHeader |
401 |
Header yang ditemukan oleh kebijakan Verifikasi JWT di header crit tidak
tercantum dalam 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 | Perbaiki |
---|---|---|
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 .
|
build |
InvalidTypeForAdditionalClaim |
Jika klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> bukan dari jenis string , number ,
boolean , atau map , deployment akan gagal.
|
build |
MissingNameForAdditionalClaim |
Jika nama klaim tidak ditentukan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> , deployment akan gagal.
|
build |
InvalidNameForAdditionalHeader |
Error ini terjadi saat nama klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> adalah alg atau typ .
|
build |
InvalidTypeForAdditionalHeader |
Jika jenis klaim yang digunakan dalam elemen turunan <Claim>
dari elemen <AdditionalClaims> bukan dari jenis string , number ,
boolean , atau map , deployment akan gagal.
|
build |
InvalidValueOfArrayAttribute |
Error ini terjadi jika nilai atribut array di elemen turunan <Claim>
dari elemen <AdditionalClaims> tidak ditetapkan ke true atau false .
|
build |
InvalidValueForElement |
Jika nilai yang ditentukan dalam elemen <Algorithm> bukan nilai yang didukung, deployment akan gagal.
|
build |
MissingConfigurationElement |
Error ini akan terjadi jika elemen <PrivateKey> tidak digunakan dengan
algoritma keluarga RSA atau elemen <SecretKey> tidak digunakan dengan algoritma
Keluarga HS.
|
build |
InvalidKeyConfiguration |
Jika elemen turunan <Value> tidak ditentukan dalam elemen <PrivateKey>
atau <SecretKey> , deployment akan gagal.
|
build |
EmptyElementForKeyConfiguration |
Jika atribut ref dari elemen turunan <Value> dari elemen <PrivateKey>
atau <SecretKey> kosong atau tidak ditentukan, deployment akan gagal.
|
build |
InvalidConfigurationForVerify |
Error ini terjadi jika elemen <Id> ditentukan dalam
elemen <SecretKey> .
|
build |
InvalidEmptyElement |
Error ini terjadi jika elemen <Source> kebijakan Verifikasi JWT
kosong. Jika ada, variabel ini harus ditentukan dengan nama variabel alur Apigee.
|
build |
InvalidPublicKeyValue |
Jika nilai yang digunakan dalam elemen turunan <JWKS> dari elemen <PublicKey>
tidak menggunakan format yang valid seperti yang ditentukan dalam RFC 7517,
deployment akan gagal.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Jika elemen <PrivateKey> digunakan dengan algoritma Keluarga HS atau
elemen <SecretKey> digunakan dengan algoritma Keluarga RSA, deployment
akan gagal.
|
build |
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
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.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Error ini terjadi jika payload pesan input yang ditentukan oleh elemen <Source> kebijakan XMLThreatProtection bukan Dokumen XML yang valid.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Error ini terjadi jika variabel message
yang ditentukan dalam elemen <Source> adalah:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Error ini terjadi jika elemen <Source> ditetapkan ke variabel yang
bukan jenis
pesan.
|
build |
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. | build |
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.
|
build |
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. |
build |
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. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
Error ini terjadi jika variabel message
yang ditentukan dalam elemen <Source> dari kebijakan XML ke JSON adalah:
|
build |
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.
|
build |
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 .
|
build |
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 dijalankan.
Kode kerusakan | Status HTTP | Penyebab | Perbaiki |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Error ini terjadi jika variabel pesan atau string yang ditentukan dalam elemen <Source> dari
kebijakan XSLTransform berada di luar cakupan (tidak tersedia dalam alur tertentu tempat
kebijakan dijalankan) atau tidak dapat di-resolve (tidak ditentukan).
|
build |
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. Kegagalan kebijakan XSLTransform dapat disebabkan oleh berbagai hal. Alasan kegagalan dalam pesan error akan memberikan informasi lebih lanjut tentang penyebabnya. | build |
Error saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
Nama error | Penyebab | Perbaiki |
---|---|---|
XSLEmptyResourceUrl |
Jika elemen <ResourceURL> dalam kebijakan XSLTransform kosong, deployment proxy API akan gagal. |
build |
XSLInvalidResourceType |
Jika jenis resource yang ditentukan dalam elemen <ResourceURL> kebijakan XSLTransform
bukan dari jenis xsl , deployment proxy API akan gagal. |
build |