Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
Chính sách AccessControl
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | Địa chỉ IP của ứng dụng hoặc địa chỉ IP được chuyển trong yêu cầu API khớp với địa chỉ IP được chỉ định cho phần tử <SourceAddress> trong phần tử <MatchRule> của Chính sách kiểm soát quyền truy cập, còn thuộc tính action của phần tử <MatchRule> được đặt thành DENY . |
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Các biến cụ thể cho lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | acl.AC-AllowAccess.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"accesscontrol.IPDeniedAccess" } } }
Ví dụ về quy tắc lỗi
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
Chính sách của AccessEntity
Để biết thông tin liên quan, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Không nội dung nào.
Lỗi triển khai
Tên lỗi | Chuỗi lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
Không áp dụng | Loại thực thể được sử dụng phải là một trong các loại được hỗ trợ. |
Chính sách AttributionMessage
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Chính sách này không thể đặt biến. Hãy xem chuỗi lỗi để biết tên của biến chưa được giải quyết. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Lỗi này xảy ra nếu thuộc tính Các biến loại thông báo đại diện cho toàn bộ yêu cầu và phản hồi HTTP. Các biến luồng Edge
tích hợp sẵn |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Lỗi này xảy ra nếu một biến được chỉ định trong chính sách Chỉ định thông báo:
|
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidIndex |
Nếu chỉ mục được chỉ định trong các phần tử <Copy> và/hoặc <Remove> của chính sách Chỉ định tin nhắn là 0 hoặc số âm, thì quá trình triển khai Proxy API sẽ không thành công.
|
build |
InvalidVariableName |
Nếu phần tử con <Name> trống hoặc không được chỉ định trong phần tử <AssignVariable> , thì việc triển khai proxy API sẽ không thành công vì không có tên biến hợp lệ nào để chỉ định giá trị. Bạn phải nhập tên biến hợp lệ.
|
build |
InvalidPayload |
Tải trọng được chỉ định trong chính sách không hợp lệ. |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | assignmessage.AM-SetResponse.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Ví dụ về quy tắc lỗi
<faultrule name="VariableOfNonMsgType"></faultrule><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>
Chính sách BasicXác thực
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Đây là thông tin quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | Trên bộ giải mã khi chuỗi được mã hoá Base64 đến không chứa giá trị hợp lệ hoặc tiêu đề không đúng định dạng (ví dụ: không bắt đầu bằng "Cơ bản"). | build |
steps.basicauthentication.UnresolvedVariable |
500 | Không có biến nguồn bắt buộc cho bộ giải mã hoặc mã hoá. Lỗi này chỉ có thể xảy ra nếu giá trị IgnoreUnresolvedVariables sai. |
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Xảy ra khi | Khắc phục |
---|---|---|
UserNameRequired |
Phần tử <User> phải có cho thao tác được đặt tên. |
build |
PasswordRequired |
Phần tử <Password> phải có cho thao tác được đặt tên. |
build |
AssignToRequired |
Phần tử <AssignTo> phải có cho thao tác được đặt tên. |
build |
SourceRequired |
Phần tử <Source> phải có cho thao tác được đặt tên. |
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | BasicAuthentication.BA-Authenticate.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Ví dụ về quy tắc lỗi
<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>
Chính sách ConcurrentRateLimit
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Đây là thông tin quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
Đã vượt quá kết nối ConcurrentRatelimit. Giới hạn kết nối : {0} Lưu ý: Mã lỗi xuất hiện ở bên trái là chính xác, mặc dù có lỗi chính tả ("limt"). Hãy nhớ sử dụng mã chính xác như minh hoạ ở đây khi tạo quy tắc lỗi để phát hiện lỗi này. |
Lỗi triển khai
Tên lỗi | Xảy ra khi |
---|---|
InvalidCountValue |
Đã chỉ định giá trị số ConcurrentRatelimit không hợp lệ. |
ConcurrentRatelimitStepAttachment\ |
Không được phép đính kèm chính sách Giới hạn tốc độ đồng thời {0} tại các đường dẫn yêu cầu/phản hồi/lỗi proxy. Chính sách này phải được đặt trên Điểm cuối mục tiêu. |
ConcurrentRatelimitStepAttachment\ |
Thiếu tệp đính kèm chính sách Ratelimit đồng thời tại các đường dẫn yêu cầu/phản hồi/lỗi mục tiêu. Chính sách này phải được đặt trong Quy trình yêu cầu mục tiêu trước, Quy trình phản hồi mục tiêu sau và DefaultFaultRule. |
InvalidTTLForMessageTimeOut |
Đã chỉ định giá trị ttl ConcurrentRatelimit không hợp lệ cho thời gian chờ thông báo. Đây phải là một số nguyên dương. |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "ConcurrentRatelimtViolation"
Lưu ý: Mã lỗi xuất hiện trong ví dụ này là chính xác, mặc dù có lỗi chính tả ("limt"). Hãy đảm bảo sử dụng mã chính xác như được hiển thị ở đây khi tạo quy tắc lỗi để kiểm tra lỗi này. |
concurrentratelimit.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Ví dụ về phản hồi lỗi
Nếu vượt quá giới hạn tốc độ, chính sách chỉ trả về trạng thái HTTP 503 cho máy khách.
Ví dụ về quy tắc lỗi
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition> </Step> <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition> </FaultRule> </FaultRules>
Chính sách DecodeJWS
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
steps.jws.FailedToDecode |
401 | Chính sách không thể giải mã JWS. JWS có thể bị hỏng. |
steps.jws.FailedToResolveVariable |
401 | Xảy ra khi biến luồng được chỉ định trong phần tử <Source> của
chính sách không tồn tại. |
steps.jws.InvalidClaim |
401 | Đối với thông báo xác nhận quyền sở hữu bị thiếu hoặc không khớp hoặc thiếu tiêu đề hoặc tiêu đề không khớp. |
steps.jws.InvalidJsonFormat |
401 | Tìm thấy JSON không hợp lệ trong tiêu đề JWS. |
steps.jws.InvalidJws |
401 | Lỗi này xảy ra khi không xác minh được chữ ký JWS. |
steps.jws.InvalidPayload |
401 | Tải trọng JWS không hợp lệ. |
steps.jws.InvalidSignature |
401 | <DetachedContent> bị bỏ qua và JWS có tải trọng nội dung tách rời. |
steps.jws.MissingPayload |
401 | Thiếu tải trọng JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Xảy ra khi JWS bỏ qua tiêu đề thuật toán. |
steps.jws.UnknownException |
401 | Đã xảy ra ngoại lệ không xác định. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Xảy ra khi |
---|---|
InvalidAlgorithm |
Các giá trị hợp lệ duy nhất là: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
Các lỗi triển khai khác có thể xảy ra. |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWS.failed |
Tất cả các chính sách JWS đều đặt cùng một biến trong trường hợp xảy ra lỗi. | jws.JWS-Policy.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<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>
chính sách DecodeJWT
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.jwt.FailedToDecode |
401 | Xảy ra khi chính sách không thể giải mã JWT. JWT có thể không đúng định dạng, không hợp lệ hoặc không thể giải mã. | build |
steps.jwt.FailedToResolveVariable |
401 | Xảy ra khi biến luồng được chỉ định trong phần tử <Source> của
chính sách không tồn tại. |
|
steps.jwt.InvalidToken |
401 | Xảy ra khi biến luồng được chỉ định trong phần tử <Source> của
chính sách nằm ngoài phạm vi hoặc không thể giải quyết. |
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidEmptyElement |
Xảy ra khi biến luồng chứa JWT cần giải mã không được chỉ định trong phần tử <Source> của chính sách.
|
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWT.failed |
Tất cả các chính sách JWT đều đặt cùng một biến trong trường hợp xảy ra lỗi. | JWT.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Chính sách ExtractVariables
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Lỗi này xảy ra khi:
|
build |
steps.extractvariables.ImmutableVariable |
500 | Một biến dùng trong chính sách là không thể thay đổi. Chính sách không thể đặt biến này. | |
steps.extractvariables.InvalidJSONPath |
500 | Lỗi này xảy ra nếu bạn dùng một đường dẫn JSON không hợp lệ trong phần tử JSONPath của chính sách. Ví dụ: nếu một tải trọng JSON không có đối tượng Name , nhưng bạn chỉ định Name làm đường dẫn trong chính sách, thì lỗi này sẽ xảy ra. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 | Lỗi này xảy ra khi chính sách này không thể phân tích cú pháp đường dẫn JSON và trích xuất dữ liệu từ biến luồng được chỉ định trong phần tử Source . Thông thường, điều này xảy ra nếu biến luồng được chỉ định trong phần tử Source không tồn tại trong luồng hiện tại. |
build |
steps.extractvariables.SetVariableFailed |
500 | Lỗi này xảy ra nếu chính sách không thể đặt giá trị thành một biến. Lỗi này thường xảy ra nếu bạn cố gắng chỉ định giá trị cho nhiều biến có tên bắt đầu bằng các từ giống nhau ở định dạng lồng nhau và phân tách bằng dấu chấm. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 | Lỗi này xảy ra nếu biến thông báo được chỉ định trong phần tử Source của chính sách có thể là:
|
build |
steps.extractvariables.UnableToCast |
500 | Lỗi này xảy ra nếu chính sách không thể truyền giá trị đã trích xuất thành một biến. Thông thường, điều này xảy ra nếu bạn cố gắng đặt giá trị của một loại dữ liệu thành một biến của một loại dữ liệu khác. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
NothingToExtract |
Nếu chính sách không có phần tử nào trong số các phần tử URIPath , QueryParam , Header , FormParam , XMLPayload hoặc JSONPayload , thì quá trình triển khai Proxy API sẽ không thành công vì không có gì để trích xuất. |
build |
NONEmptyPrefixMappedToEmptyURI |
Lỗi này xảy ra nếu chính sách có một tiền tố được xác định trong phần tử Namespace của phần tử XMLPayload , nhưng không có URI nào được xác định. |
build |
DuplicatePrefix |
Lỗi này xảy ra nếu chính sách có cùng một tiền tố được xác định nhiều lần trong phần tử Namespace của phần tử XMLPayload . |
build |
NoXPathsToEvaluate |
Nếu chính sách này không có phần tử XPath trong phần tử XMLPayload , thì lỗi này sẽ không triển khai được proxy API.
|
build |
EmptyXPathExpression |
Nếu chính sách này có một biểu thức XPath trống trong phần tử XMLPayload , thì tức là không triển khai được proxy API. |
build |
NoJSONPathsToEvaluate |
Nếu chính sách này không có phần tử JSONPath trong phần tử JSONPayload , thì lỗi này sẽ không triển khai được proxy API. |
build |
EmptyJSONPathExpression |
Nếu chính sách này có một biểu thức XPath trống trong phần tử XMLPayload , thì sẽ không triển khai được proxy API. |
build |
MissingName |
Nếu chính sách không có thuộc tính name trong bất kỳ phần tử nào của chính sách như QueryParam , Header , FormParam hoặc Variable (nếu bắt buộc), thì sẽ không triển khai được proxy API. |
build |
PatternWithoutVariable |
Nếu bạn không chỉ định biến nào cho chính sách này trong phần tử Pattern , thì sẽ không triển khai được proxy API. Phần tử Pattern cần có tên của biến sẽ lưu trữ dữ liệu đã trích xuất. |
build |
CannotBeConvertedToNodeset |
Nếu chính sách có một biểu thức XPath , trong đó loại Variable
được định nghĩa là tập hợp nút,
nhưng không thể chuyển đổi biểu thức này thành tập hợp nút, thì sẽ không triển khai được proxy API. |
build |
JSONPathCompilationFailed |
Chính sách không thể biên dịch đường dẫn JSON được chỉ định. | |
InstantiationFailed |
Không thể tạo thực thể chính sách. | |
XPathCompilationFailed |
Nếu tiền tố hoặc giá trị dùng trong phần tử XPath không thuộc bất kỳ không gian tên nào đã khai báo trong chính sách, thì sẽ không triển khai được proxy API. |
build |
InvalidPattern |
Nếu định nghĩa phần tử Pattern không hợp lệ trong bất kỳ phần tử nào như URIPath , QueryParam , Header , FormParam , XMLPayload hoặc JSONPayload trong chính sách, thì việc triển khai proxy API sẽ không thành công.
|
build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | extractvariables.EV-ParseJsonResponse.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Ví dụ về quy tắc lỗi
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Chính sách CreationJWS
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng nếu bạn đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem các bài viết Những điều bạn cần biết về lỗi về chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
steps.jws.GenerationFailed |
401 | Chính sách này không thể tạo JWS. |
steps.jws.InsufficientKeyLength |
401 | Đối với khoá nhỏ hơn 32 byte đối với thuật toán HS256 |
steps.jws.InvalidClaim |
401 | Đối với thông báo xác nhận quyền sở hữu bị thiếu hoặc không khớp hoặc thiếu tiêu đề hoặc tiêu đề không khớp. |
steps.jws.InvalidCurve |
401 | Đường cong do khoá chỉ định không hợp lệ cho thuật toán Đường cong Elliptic. |
steps.jws.InvalidJsonFormat |
401 | Tìm thấy JSON không hợp lệ trong tiêu đề JWS. |
steps.jws.InvalidPayload |
401 | Tải trọng JWS không hợp lệ. |
steps.jws.InvalidSignature |
401 | <DetachedContent> bị bỏ qua và JWS có tải trọng nội dung tách rời. |
steps.jws.KeyIdMissing |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng JWS đã ký không
có thuộc tính kid trong tiêu đề. |
steps.jws.KeyParsingFailed |
401 | Không thể phân tích cú pháp khoá công khai từ thông tin khoá đã cho. |
steps.jws.MissingPayload |
401 | Thiếu tải trọng JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Xảy ra khi JWS bỏ qua tiêu đề thuật toán. |
steps.jws.SigningFailed |
401 | Trong GenerateJWS, đối với khoá nhỏ hơn kích thước tối thiểu dành cho thuật toán HS384 hoặc HS512 |
steps.jws.UnknownException |
401 | Đã xảy ra ngoại lệ không xác định. |
steps.jws.WrongKeyType |
401 | Chỉ định sai loại khoá. Ví dụ: nếu bạn chỉ định khoá RSA cho thuật toán Elliptic Curve hoặc khoá đường cong cho thuật toán RSA. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Xảy ra khi |
---|---|
InvalidAlgorithm |
Các giá trị hợp lệ duy nhất là: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
Các lỗi triển khai khác có thể xảy ra. |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWS.failed |
Tất cả các chính sách JWS đều đặt cùng một biến trong trường hợp xảy ra lỗi. | jws.JWS-Policy.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<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>
Chính sách CreationJWT
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Xảy ra khi chính sách xác minh có nhiều thuật toán. |
steps.jwt.AlgorithmMismatch |
401 | Thuật toán được chỉ định trong chính sách Tạo không khớp với thuật toán dự kiến trong chính sách Xác minh. Thuật toán được chỉ định phải khớp. |
steps.jwt.FailedToDecode |
401 | Chính sách không thể giải mã JWT. JWT có thể bị hỏng. |
steps.jwt.GenerationFailed |
401 | Chính sách không thể tạo JWT. |
steps.jwt.InsufficientKeyLength |
401 | Đối với khoá có kích thước nhỏ hơn 32 byte đối với thuật toán HS256, nhỏ hơn 48 byte đối với thuật toán HS386 và nhỏ hơn 64 byte đối với thuật toán HS512. |
steps.jwt.InvalidClaim |
401 | Đối với thông báo xác nhận quyền sở hữu bị thiếu hoặc không khớp hoặc thiếu tiêu đề hoặc tiêu đề không khớp. |
steps.jwt.InvalidCurve |
401 | Đường cong do khoá chỉ định không hợp lệ cho thuật toán Đường cong Elliptic. |
steps.jwt.InvalidJsonFormat |
401 | Tìm thấy JSON không hợp lệ trong tiêu đề hoặc tải trọng. |
steps.jwt.InvalidToken |
401 | Lỗi này xảy ra khi không xác minh được chữ ký JWT. |
steps.jwt.JwtAudienceMismatch |
401 | Không xác nhận được đối tượng khi xác minh mã thông báo. |
steps.jwt.JwtIssuerMismatch |
401 | Xác nhận quyền sở hữu của nhà phát hành không thành công khi xác minh mã thông báo. |
steps.jwt.JwtSubjectMismatch |
401 | Không xác nhận được chủ thể khi xác minh mã thông báo. |
steps.jwt.KeyIdMissing |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng JWT đã ký không
có thuộc tính kid trong tiêu đề. |
steps.jwt.KeyParsingFailed |
401 | Không thể phân tích cú pháp khoá công khai từ thông tin khoá đã cho. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Xảy ra khi JWT không chứa tiêu đề thuật toán. |
steps.jwt.NoMatchingPublicKey |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng kid
trong JWT đã ký không có trong JWKS. |
steps.jwt.SigningFailed |
401 | Trong GenerateJWT, đối với khoá nhỏ hơn kích thước tối thiểu dành cho thuật toán HS384 hoặc HS512 |
steps.jwt.TokenExpired |
401 | Chính sách này cố gắng xác minh một mã thông báo đã hết hạn. |
steps.jwt.TokenNotYetValid |
401 | Mã thông báo chưa hợp lệ. |
steps.jwt.UnhandledCriticalHeader |
401 | Một tiêu đề do chính sách Verify JWT tìm thấy trong tiêu đề crit không được liệt kê trong KnownHeaders . |
steps.jwt.UnknownException |
401 | Đã xảy ra ngoại lệ không xác định. |
steps.jwt.WrongKeyType |
401 | Chỉ định sai loại khoá. Ví dụ: nếu bạn chỉ định khoá RSA cho thuật toán Elliptic Curve hoặc khoá đường cong cho thuật toán RSA. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidNameForAdditionalClaim |
Việc triển khai sẽ không thành công nếu thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> là một trong những tên đã đăng ký sau đây: kid , iss , sub , aud , iat , exp , nbf hoặc jti .
|
build |
InvalidTypeForAdditionalClaim |
Nếu thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> không thuộc loại string , number , boolean hoặc map , thì quá trình triển khai sẽ không thành công.
|
build |
MissingNameForAdditionalClaim |
Nếu tên của thông báo xác nhận quyền sở hữu không được chỉ định trong phần tử con <Claim> của phần tử <AdditionalClaims> , thì quá trình triển khai sẽ không thành công.
|
build |
InvalidNameForAdditionalHeader |
Lỗi này xảy ra khi tên của thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> là alg hoặc typ .
|
build |
InvalidTypeForAdditionalHeader |
Nếu loại thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> không thuộc loại string , number , boolean hoặc map , thì quá trình triển khai sẽ không thành công.
|
build |
InvalidValueOfArrayAttribute |
Lỗi này xảy ra khi giá trị của thuộc tính mảng trong phần tử con <Claim> của phần tử <AdditionalClaims> không được đặt thành true hoặc false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Nếu phần tử <PrivateKey> được sử dụng với thuật toán Gia đình HS hoặc phần tử <SecretKey> được sử dụng với thuật toán Nhóm RSA, thì quá trình triển khai sẽ không thành công.
|
build |
InvalidValueForElement |
Nếu giá trị được chỉ định trong phần tử <Algorithm> không phải là giá trị được hỗ trợ, thì quá trình triển khai sẽ không thành công.
|
build |
MissingConfigurationElement |
Lỗi này sẽ xảy ra nếu không sử dụng phần tử <PrivateKey> với thuật toán nhóm RSA hoặc phần tử <SecretKey> không được sử dụng với thuật toán Nhóm HS.
|
build |
InvalidKeyConfiguration |
Nếu phần tử con <Value> không được xác định trong các phần tử <PrivateKey> hoặc <SecretKey> , thì quá trình triển khai sẽ không thành công.
|
build |
EmptyElementForKeyConfiguration |
Nếu thuộc tính ref của phần tử con <Value> trong các phần tử <PrivateKey> hoặc <SecretKey> bị trống hoặc chưa được chỉ định, thì quá trình triển khai sẽ không thành công.
|
build |
InvalidVariableNameForSecret |
Lỗi này xảy ra nếu tên biến luồng được chỉ định trong thuộc tính tham chiếu của phần tử con <Value> của các phần tử <PrivateKey> hoặc <SecretKey> không chứa tiền tố riêng (private.) .
|
build |
InvalidSecretInConfig |
Lỗi này xảy ra nếu phần tử con <Value> của các phần tử <PrivateKey> hoặc <SecretKey> không chứa tiền tố riêng (private.) .
|
build |
InvalidTimeFormat |
Nếu giá trị được chỉ định trong phần tử <NotBefore> không sử dụng định dạng được hỗ trợ, thì quá trình triển khai sẽ không thành công.
|
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWT.failed |
Tất cả các chính sách JWT đều đặt cùng một biến trong trường hợp xảy ra lỗi. | JWT.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Chính sách về chú thích Java
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.javacallout.ExecutionError |
500 | Xảy ra khi mã Java trả về một ngoại lệ hoặc trả về giá trị rỗng trong quá trình thực thi chính sách JavaAnnotate. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Chuỗi lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
Không áp dụng | Tệp được chỉ định trong phần tử <ResourceURL> không tồn tại. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
Không áp dụng | Tệp lớp được chỉ định trong phần tử <ClassName> không nằm trong tệp jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
Không áp dụng | Xem chuỗi lỗi. Ngoài ra, hãy xem thêm phần Phần mềm và phiên bản được hỗ trợ. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
Không áp dụng | Xem chuỗi lỗi. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
Không áp dụng | Xem chuỗi lỗi. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
Không áp dụng | Xem chuỗi lỗi. |
NoResourceForURL |
Could not locate a resource with URL [string] |
Không áp dụng | Xem chuỗi lỗi. |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | javacallout.JC-GetUserData.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Ví dụ về quy tắc lỗi
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Chính sách về JavaScript
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Bạn cần nắm được thông tin này nếu đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | Chính sách JavaScript có thể gửi nhiều loại lỗi ScriptExecutionFailed. Các loại lỗi thường gặp bao gồm RangeError, ReferenceError, SyntaxError, TypeError và URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | Đã xảy ra lỗi trong mã JavaScript. Hãy xem chuỗi lỗi để biết thông tin chi tiết. | Không áp dụng |
steps.javascript.ScriptSecurityError |
500 | Đã xảy ra lỗi bảo mật khi thực thi JavaScript. Hãy xem chuỗi lỗi để biết thông tin chi tiết. | Không áp dụng |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidResourceUrlFormat |
Nếu định dạng của URL tài nguyên được chỉ định trong phần tử <ResourceURL> hoặc <IncludeURL> của chính sách JavaScript không hợp lệ, thì proxy API sẽ không triển khai được. |
build |
InvalidResourceUrlReference |
Nếu các phần tử <ResourceURL> hoặc <IncludeURL> tham chiếu đến một tệp JavaScript không tồn tại, thì nghĩa là không triển khai được proxy API.
Tệp nguồn được tham chiếu phải tồn tại ở cấp độ proxy API, môi trường hoặc tổ chức. |
build |
WrongResourceType |
Lỗi này xảy ra trong quá trình triển khai nếu các phần tử <ResourceURL> hoặc <IncludeURL> của chính sách JavaScript tham chiếu đến bất kỳ loại tài nguyên nào khác ngoài jsc (tệp JavaScript). |
build |
NoResourceURLOrSource |
Lỗi này có thể sẽ khiến quá trình triển khai chính sách JavaScript không thành công nếu phần tử <ResourceURL> không được khai báo hoặc nếu URL tài nguyên không được xác định trong phần tử này.
Phần tử <ResourceURL> là phần tử bắt buộc. Hoặc Phần tử <IncludeURL> được khai báo nhưng URL tài nguyên không được xác định trong phần tử này. Phần tử <IncludeURL> là không bắt buộc nhưng nếu được khai báo thì phải chỉ định URL tài nguyên trong phần tử <IncludeURL> . |
build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | javascript.JavaScript-1.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách JSON AeeProtection
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | Chính sách JSONBảo vệ quy trình bảo vệ có thể gửi nhiều loại lỗi ExecutionFailed. Hầu hết các lỗi này xảy ra khi vượt quá một ngưỡng cụ thể được đặt trong chính sách. Các loại lỗi sau đây bao gồm: độ dài tên mục nhập đối tượng, số mục nhập đối tượng, số lượng phần tử mảng, độ sâu vùng chứa, độ dài giá trị chuỗi. Lỗi này cũng xảy ra khi tải trọng chứa đối tượng JSON không hợp lệ. | build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Lỗi này xảy ra nếu biến thông báo
được chỉ định trong phần tử <Source> là:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Lỗi này xảy ra nếu phần tử <Source> được đặt thành một biến không thuộc loại thông báo.
|
build |
Lỗi triển khai
Không nội dung nào.
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | jsonattack.JTP-SecureRequest.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Ví dụ về quy tắc lỗi
<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>
Các loại chính sách JSON AeeProtection xác định các mã lỗi sau:
Chính sách JSONtoXML
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | Tải trọng đầu vào (JSON) trống hoặc dữ liệu đầu vào (JSON) được chuyển qua JSON vào chính sách XML không hợp lệ hoặc không đúng định dạng. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Lỗi này xảy ra nếu loại biến được xác định trong phần tử <Source> và phần tử <OutputVariable> không giống nhau. Loại bắt buộc của các biến có trong phần tử <Source> và phần tử <OutputVariable> phải khớp với nhau. Loại hợp lệ là message và string . |
build |
steps.jsontoxml.InvalidSourceType |
500 | Lỗi này xảy ra nếu loại biến dùng để xác định phần tử <Source> không hợp lệ. Các loại biến hợp lệ là message và string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | Lỗi này xảy ra nếu biến được chỉ định trong phần tử <Source> của Chính sách JSON cho XML thuộc loại chuỗi và phần tử <OutputVariable> không được xác định.
Phần tử <OutputVariable> là bắt buộc khi biến được xác định trong phần tử <Source> thuộc kiểu chuỗi. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Lỗi này xảy ra nếu biến thông báo được chỉ định trong phần tử <Source> của chính sách JSON cho XML thuộc một trong hai trường hợp sau:
|
build |
Lỗi triển khai
Không nội dung nào.
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | jsontoxml.JSON-to-XML-1.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách KeyValueMapOperations
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
Lỗi này xảy ra nếu bạn cố truy xuất giá trị từ bản đồ giá trị khoá đã mã hoá và đặt giá trị thành một biến có tên không có tiền tố |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Lỗi này xảy ra nếu thuộc tính |
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidIndex |
Nếu thuộc tính index được chỉ định trong phần tử <Get> của chính sách Hoạt động bản đồ giá trị khoá là 0 hoặc là số âm, thì sẽ không triển khai được proxy API. Chỉ mục bắt đầu từ 1 , vì vậy chỉ mục có số nguyên hoặc số nguyên âm sẽ được coi là không hợp lệ.
|
build |
KeyIsMissing |
Lỗi này xảy ra nếu phần tử <Key> bị thiếu hoàn toàn hoặc phần tử <Parameter> bị thiếu trong phần tử <Key> bên dưới <Entry> của phần tử <InitialEntries> của Chính sách về hoạt động của bản đồ giá trị khoá.
|
build |
ValueIsMissing |
Lỗi này xảy ra nếu phần tử <Value> bị thiếu trong phần tử <Entry> của phần tử <InitialEntries> của chính sách Hoạt động bản đồ giá trị khoá. |
build |
Chính sách LDAP
Chính sách này sử dụng những mã lỗi sau:
Mã lỗi | Thông điệp |
---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
Chính sách MessageLogging (Ghi nhật ký tin nhắn)
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Xem chuỗi lỗi. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidProtocol |
Lỗi này có thể không triển khai được chính sách MessageLogging nếu giao thức được chỉ định trong phần tử <Protocol> không hợp lệ. Các giao thức hợp lệ là TCP và UDP.
Để gửi thông báo nhật ký hệ thống qua TLS/SSL, chỉ TCP được hỗ trợ. |
build |
InvalidPort |
Quá trình triển khai chính sách MessageLogging có thể không thành công với lỗi này nếu số cổng không được chỉ định trong phần tử <Port> hoặc nếu số cổng không hợp lệ. Số cổng phải là một số nguyên lớn hơn 0. |
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | messagelogging.ML-LogMessages.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Ví dụ về quy tắc lỗi
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Chính sách xác thực của OAS
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Không thể xác thực nội dung thông báo yêu cầu theo Thông số kỹ thuật OpenAPI được cung cấp. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
Biến được chỉ định trong phần tử |
|
steps.oasvalidation.NotMessageVariable |
500 |
Phần tử |
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | |
---|---|---|
ResourceDoesNotExist |
Thông số kỹ thuật OpenAPI được tham chiếu trong phần tử <OASResource> không tồn tại.
|
|
ResourceCompileFailed |
Thông số kỹ thuật OpenAPI được bao gồm trong quá trình triển khai có lỗi ngăn cản quá trình biên dịch. Điều này thường cho thấy rằng thông số kỹ thuật này không phải là Thông số kỹ thuật OpenAPI 3.0 được định dạng đúng. | |
BadResourceURL |
Không xử lý được Thông số kỹ thuật OpenAPI được tham chiếu trong phần tử <OASResource> . Điều này có thể xảy ra nếu tệp đó không phải là tệp JSON hoặc YAML hoặc URL tệp không được chỉ định chính xác.
|
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oasvalidation.myoaspolicy.failed = true |
Chính sách PopulateCache
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Không thể lưu một mục vào bộ nhớ đệm. Đối tượng thông báo đang được lưu vào bộ nhớ đệm không phải là một thực thể của lớp Có thể chuyển đổi tuần tự. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidCacheResourceReference |
Lỗi này xảy ra nếu phần tử <CacheResource> trong chính sách PopulateCache được đặt thành một tên không tồn tại trong môi trường nơi proxy API đang được triển khai. |
build |
CacheNotFound |
Bộ nhớ đệm được chỉ định trong phần tử <CacheResource> không tồn tại. |
build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | populatecache.POP-CACHE-1.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách LookupCache
Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Tiền tố mã lỗi
Không áp dụng
Lỗi thời gian chạy
Chính sách này không gửi bất kỳ lỗi thời gian chạy nào.
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidCacheResourceReference |
Lỗi này xảy ra nếu phần tử <CacheResource> được đặt thành một tên không tồn tại trong môi trường nơi proxy API đang được triển khai. |
build |
InvalidTimeout |
Nếu bạn đặt phần tử <CacheLookupTimeoutInSeconds> thành số âm, thì proxy API sẽ không triển khai được. |
build |
CacheNotFound |
Lỗi này xảy ra nếu bộ nhớ đệm cụ thể được đề cập trong thông báo lỗi chưa được tạo trên một thành phần cụ thể của Trình xử lý thông báo. | build |
Biến lỗi
Không áp dụng
Ví dụ về phản hồi lỗi
Không áp dụng
Chính sách InvalidateCache
Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Tiền tố mã lỗi
Không áp dụng
Lỗi thời gian chạy
Chính sách này không gửi bất kỳ lỗi thời gian chạy nào.
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidCacheResourceReference |
Lỗi này xảy ra nếu phần tử <CacheResource> trong chính sách InvalidateCache được đặt thành tên không tồn tại trong môi trường nơi proxy API đang được triển khai. |
build |
CacheNotFound |
Lỗi này xảy ra nếu bộ nhớ đệm cụ thể được đề cập trong thông báo lỗi chưa được tạo trên một thành phần cụ thể của Trình xử lý thông báo. | build |
Biến lỗi
Không áp dụng
Ví dụ về phản hồi lỗi
Không áp dụng
Chính sách ResponseCache
Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Tiền tố mã lỗi
Không áp dụng
Lỗi thời gian chạy
Chính sách này không gửi bất kỳ lỗi thời gian chạy nào.
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidTimeout |
Nếu bạn đặt phần tử <CacheLookupTimeoutInSeconds> của chính sách ResponseCache thành số âm, thì sẽ không triển khai được proxy API. |
build |
InvalidCacheResourceReference |
Lỗi này xảy ra nếu phần tử <CacheResource> trong chính sách ResponseCache được đặt thành một tên không tồn tại trong môi trường mà proxy API đang được triển khai. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Lỗi này xảy ra nếu cùng một chính sách ResponseCache được đính kèm vào nhiều đường dẫn yêu cầu trong bất kỳ luồng nào của một proxy API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Lỗi này xảy ra nếu cùng một chính sách ResponseCache được đính kèm vào nhiều đường dẫn phản hồi trong bất kỳ luồng nào của một proxy API. | build |
InvalidMessagePatternForErrorCode |
Lỗi này xảy ra nếu phần tử <SkipCacheLookup> hoặc <SkipCachePopulation> trong chính sách ResponseCache chứa điều kiện không hợp lệ. |
build |
CacheNotFound |
Lỗi này xảy ra nếu bộ nhớ đệm cụ thể được đề cập trong thông báo lỗi chưa được tạo trên một thành phần cụ thể của Trình xử lý thông báo. | build |
Biến lỗi
Không áp dụng
Ví dụ về phản hồi lỗi
Không áp dụng
Chính sách OAuthV2
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Gửi theo toán tử |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Mã truy cập đã hết hạn. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | Mã truy cập đã bị thu hồi. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | Tài nguyên được yêu cầu không tồn tại bất kỳ sản phẩm API nào được liên kết với mã truy cập. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Chính sách dự kiến tìm thấy mã truy cập trong một biến được chỉ định ở phần tử <AccessToken> , nhưng không thể phân giải biến đó. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Chính sách dự kiến tìm thấy mã uỷ quyền trong một biến được chỉ định ở phần tử <Code> , nhưng không thể phân giải biến đó. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | Chính sách dự kiến tìm thấy Mã ứng dụng khách trong một biến được chỉ định ở phần tử <ClientId> , nhưng biến đó không phân giải được. |
CreateAccessToken GenerateAuthCode GenerateAccessTokenimplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Chính sách dự kiến sẽ tìm thấy mã làm mới trong một biến được chỉ định ở phần tử <RefreshToken> , nhưng không phân giải được biến đó. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | Chính sách dự kiến tìm thấy mã thông báo trong một biến được chỉ định ở phần tử <Tokens> , nhưng không thể phân giải biến đó. |
ValidationToken |
steps.oauth.v2.InsufficientScope |
403 | Mã truy cập thể hiện trong yêu cầu có phạm vi không khớp với phạm vi đã chỉ định trong chính sách về mã truy cập xác minh. Để tìm hiểu về phạm vi, hãy xem bài viết Làm việc với phạm vi OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | Mã truy cập do ứng dụng gửi là không hợp lệ. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Tên lỗi này được trả về khi thuộc tính Lưu ý: Bạn nên thay đổi các điều kiện của quy tắc lỗi hiện có để nắm bắt cả tên |
CreateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Tên lỗi này dùng cho nhiều loại lỗi, thường là cho các tham số bị thiếu hoặc không chính xác được gửi trong yêu cầu. Nếu bạn đặt <GenerateResponse> thành false , hãy sử dụng các biến lỗi (như mô tả bên dưới) để truy xuất thông tin chi tiết về lỗi, chẳng hạn như tên lỗi và nguyên nhân. |
CreateAccessToken GenerateAuthCode GenerateAccessTokenimplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | Tiêu đề uỷ quyền không có từ bắt buộc phải có từ "Bearer". Ví dụ: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Proxy API không nằm trong Sản phẩm được liên kết với mã truy cập. Lưu ý: Đảm bảo rằng sản phẩm liên kết với mã truy cập được định cấu hình đúng cách. Ví dụ: nếu bạn sử dụng ký tự đại diện trong đường dẫn tài nguyên, hãy đảm bảo bạn sử dụng ký tự đại diện đúng cách. Xem bài viết Tạo sản phẩm API để biết thông tin chi tiết. Hãy xem thêm bài đăng này trên thẻ Cộng đồng Apigee để biết thêm hướng dẫn về nguyên nhân gây ra lỗi này. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Tên lỗi này được trả về khi thuộc tính |
CreateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Chính sách phải chỉ định mã truy cập hoặc mã uỷ quyền, nhưng không được chỉ định cả hai. | Tạo thư ủy quyền |
steps.oauth.v2.InvalidTokenType |
500 | Phần tử <Tokens>/<Token> yêu cầu bạn chỉ định loại mã thông báo (ví dụ: refreshtoken ). Nếu ứng dụng truyền không đúng loại, lỗi này sẽ được gửi ra. |
ValidationToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | Loại phản hồi là token , nhưng không có loại cấp quyền nào được chỉ định. |
Tạo thư ủy quyền |
steps.oauth.v2.UnSupportedGrantType |
500 |
Khách hàng đã chỉ định một loại tài trợ mà chính sách không hỗ trợ (không có trong phần tử <SupportedGrantTypes>). Lưu ý: Hiện tại có một lỗi trong đó lỗi loại cấp không được hỗ trợ không được gửi chính xác. Nếu xảy ra lỗi loại cấp không được hỗ trợ, thì proxy sẽ không nhập Luồng lỗi như dự kiến. |
CreateAccessToken GenerateAuthCode GenerateAccessTokenimplicitGrant RefreshAccessToken |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân |
---|---|
InvalidValueForExpiresIn |
Đối với phần tử |
InvalidValueForRefreshTokenExpiresIn |
Đối với phần tử <RefreshTokenExpiresIn> , các giá trị hợp lệ là số nguyên dương và -1 . |
InvalidGrantType |
Loại cấp quyền không hợp lệ được chỉ định trong phần tử <SupportedGrantTypes> . Hãy xem tài liệu tham khảo chính sách để biết danh sách các loại hợp lệ. |
ExpiresInNotApplicableForOperation |
Hãy đảm bảo rằng các thao tác được chỉ định trong phần tử hỗ trợ phần tử <Operations> đã hết hạn. Ví dụ: thao tác VerifyToken thì không. |
RefreshTokenExpiresInNotApplicableForOperation |
Hãy đảm bảo rằng các thao tác được chỉ định trong phần tử <Operations> hỗ trợ thời hạn của mã làm mới. Ví dụ: thao tác VerifyToken thì không. |
GrantTypesNotApplicableForOperation |
Hãy đảm bảo rằng các loại tài trợ được chỉ định trong <SupportedGrantTypes> được hỗ trợ cho hoạt động đã chỉ định. |
OperationRequired |
Bạn phải chỉ định một thao tác trong chính sách này bằng phần tử Lưu ý: Nếu phần tử |
InvalidOperation |
Bạn phải chỉ định một thao tác hợp lệ trong chính sách này bằng phần tử Lưu ý: Nếu phần tử |
TokenValueRequired |
Bạn phải chỉ định giá trị mã thông báo <Token> trong phần tử <Tokens> . |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
Lưu ý: Đối với thao tác VerifyAccessToken, tên lỗi sẽ có hậu tố sau: |
oauthV2.policy_name.fault.cause |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Ví dụ về phản hồi lỗi
Các phản hồi này sẽ được gửi lại ứng dụng khách nếu phần tử <GenerateResponse>
là true.
Nếu <GenerateResponse>
là true, thì chính sách sẽ trả về các lỗi theo định dạng này cho các thao tác tạo mã thông báo và mã. Để biết danh sách đầy đủ, hãy xem Tài liệu tham khảo về phản hồi lỗi HTTP qua OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Nếu <GenerateResponse>
là true (đúng), chính sách sẽ trả về các lỗi ở định dạng này để xác minh và xác thực các thao tác. Để biết danh sách đầy đủ, hãy xem Tài liệu tham khảo về phản hồi lỗi HTTP qua OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách Get OAuthV2Info
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách. Tên lỗi hiển thị bên dưới là các chuỗi được gán cho biến fault.name
khi xảy ra lỗi. Hãy xem phần Biến lỗi dưới đây để biết thêm thông tin.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Mã truy cập được gửi đến chính sách đã hết hạn. |
steps.oauth.v2.authorization_code_expired |
500 | Mã uỷ quyền gửi đến chính sách này đã hết hạn. |
steps.oauth.v2.invalid_access_token |
500 | Mã truy cập mà bạn gửi cho chính sách này là không hợp lệ. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | Mã ứng dụng khách được gửi đến chính sách không hợp lệ. |
steps.oauth.v2.invalid_refresh_token |
500 | Mã làm mới được gửi tới chính sách là không hợp lệ. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | Mã uỷ quyền mà bạn gửi đến chính sách này là không hợp lệ. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Vui lòng xem bài đăng này trên Cộng đồng Apigee để biết thông tin về cách khắc phục lỗi này. |
steps.oauth.v2.refresh_token_expired |
500 | Mã làm mới được gửi đến chính sách đã hết hạn. |
Lỗi triển khai
Hãy tham khảo thông báo được báo cáo trong giao diện người dùng để biết thông tin về lỗi triển khai.
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Ví dụ về phản hồi lỗi
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Ví dụ về quy tắc lỗi
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Chính sách Set OAuthV2Info
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
steps.oauth.v2.access_token_expired |
500 | Mã truy cập được gửi đến chính sách đã hết hạn. |
steps.oauth.v2.invalid_access_token |
500 | Mã truy cập mà bạn gửi cho chính sách này là không hợp lệ. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Vui lòng xem bài đăng này trên Cộng đồng Apigee để biết thông tin về cách khắc phục lỗi này. |
Lỗi triển khai
Hãy tham khảo thông báo được báo cáo trong giao diện người dùng để biết thông tin về lỗi triển khai.
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Ví dụ về quy tắc lỗi
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Xoá chính sách OAuthV2Info
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 | Mã truy cập mà bạn gửi cho chính sách này là không hợp lệ. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 | Mã uỷ quyền mà bạn gửi đến chính sách này là không hợp lệ. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Vui lòng xem bài đăng này trên Cộng đồng Apigee để biết thông tin về cách khắc phục lỗi này. |
Lỗi triển khai
Hãy tham khảo thông báo được báo cáo trong giao diện người dùng để biết thông tin về lỗi triển khai.
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Ví dụ về quy tắc lỗi
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Chính sách OAuthv1.0a
Loại chính sách OAuthV1 xác định các mã lỗi sau.
Để biết mã lỗi HTTP liên quan đến OAuth, hãy xem phần Tài liệu tham khảo về cách phản hồi lỗi OAuth HTTP.
Mã lỗi | Thông điệp |
---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
Chính sách Get OAuthV1Info
Không có mã lỗi nào được chỉ định cho chính sách Thông tin về OAuth v1.0a.
Xoá chính sách OAuthV1Info
Khi được, chính sách sẽ trả về trạng thái 200.
Khi gặp lỗi, chính sách này sẽ trả về mã 404 và cho kết quả tương tự như sau (tuỳ thuộc vào việc bạn đang xoá mã truy cập, mã yêu cầu hay trình xác minh).:
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
Chính sách PythonScript
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Bạn cần nắm được thông tin này nếu đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | Chính sách PythonScript có thể gửi một số loại lỗi ScriptExecutionFailed. Các loại lỗi thường gặp bao gồm NameError và ZeroDivisionError. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidResourceUrlFormat |
Nếu định dạng của URL tài nguyên được chỉ định trong phần tử <ResourceURL> hoặc <IncludeURL> của chính sách PythonScript không hợp lệ, thì proxy API sẽ không triển khai được. |
build |
InvalidResourceUrlReference |
Nếu các phần tử <ResourceURL> hoặc <IncludeURL> tham chiếu đến một tệp PythonScript không tồn tại, thì nghĩa là không thể triển khai proxy API.
Tệp nguồn được tham chiếu phải tồn tại ở cấp độ proxy API, môi trường hoặc tổ chức. |
build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy. Để biết thêm thông tin, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | pythonscript.PythonScript-1.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách về hạn mức
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Xảy ra nếu phần tử <Interval> không được xác định trong chính sách Hạn mức. Phần tử này là bắt buộc và được dùng để chỉ định khoảng thời gian áp dụng cho hạn mức. Khoảng thời gian có thể là phút, giờ, ngày, tuần hoặc tháng như được xác định bằng phần tử <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Xảy ra nếu phần tử <TimeUnit> không được xác định trong chính sách Hạn mức. Phần tử này là bắt buộc và được dùng để chỉ định đơn vị thời gian áp dụng cho hạn mức. Khoảng thời gian có thể tính bằng phút, giờ, ngày, tuần hoặc tháng. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Xảy ra nếu giá trị của phần tử <MessageWeight> được chỉ định thông qua biến luồng không hợp lệ (một giá trị không phải số nguyên). |
build |
policies.ratelimit.QuotaViolation |
500 | Đã vượt quá hạn mức. | Không áp dụng |
Lỗi triển khai
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidQuotaInterval |
Nếu khoảng thời gian hạn mức được chỉ định trong phần tử <Interval> không phải là số nguyên, thì sẽ không triển khai được proxy API. Ví dụ: nếu khoảng hạn mức được chỉ định là 0, 1 trong phần tử <Interval> , thì sẽ không triển khai được proxy API.
|
build |
InvalidQuotaTimeUnit |
Nếu đơn vị thời gian được chỉ định trong phần tử <TimeUnit> không được hỗ trợ, thì sẽ không triển khai được proxy API. Các đơn vị thời gian được hỗ trợ là minute , hour , day , week và month .
|
build |
InvalidQuotaType |
Nếu loại hạn mức do thuộc tính type chỉ định trong phần tử <Quota> không hợp lệ, thì tức là không triển khai được proxy API. Các loại hạn mức được hỗ trợ là default , calendar , flexi và rollingwindow .
|
build |
InvalidStartTime |
Nếu định dạng của thời gian được chỉ định trong phần tử <StartTime> không hợp lệ, thì tức là không triển khai được proxy API. Định dạng hợp lệ là yyyy-MM-dd HH:mm:ss , là định dạng ngày và giờ ISO 8601. Ví dụ: nếu thời gian chỉ định trong phần tử <StartTime> là 7-16-2017 12:00:00 , thì sẽ không triển khai được proxy API.
|
build |
StartTimeNotSupported |
Nếu bạn chỉ định phần tử <StartTime> có loại hạn mức không phải là loại calendar , thì sẽ không triển khai được proxy API. Phần tử <StartTime> chỉ được
hỗ trợ cho loại hạn mức calendar . Ví dụ: nếu bạn đặt thuộc tính type thành flexi hoặc rolling window trong phần tử <Quota> , thì quá trình triển khai proxy API sẽ không thành công.
|
build |
InvalidTimeUnitForDistributedQuota |
Nếu bạn đặt phần tử <Distributed> thành true và đặt phần tử <TimeUnit> thành second , thì sẽ không triển khai được proxy API. Đơn vị thời gian second không hợp lệ đối với hạn mức phân phối. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Nếu giá trị được chỉ định cho phần tử <SyncIntervalInSeconds> trong phần tử <AsynchronousConfiguration> của chính sách Hạn mức nhỏ hơn 0, thì quá trình triển khai proxy API sẽ không thành công. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Nếu bạn đặt giá trị của phần tử <AsynchronousConfiguration> thành true trong chính sách Hạn mức, thì chính sách này cũng có cấu hình không đồng bộ được xác định bằng phần tử <AsynchronousConfiguration> , thì sẽ không triển khai được proxy API. |
build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | ratelimit.QT-QuotaPolicy.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Ví dụ về quy tắc lỗi
<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>
Đặt lại chính sách Hạn mức
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Chính sách hạn mức được chỉ định trong phần tử <Quota> của chính sách Đặt lại hạn mức không được xác định trong proxy API, do đó không dùng được trong quy trình. Phần tử <Quota>
là bắt buộc và xác định chính sách Hạn mức mục tiêu có bộ đếm cần được cập nhật
thông qua chính sách Đặt lại hạn mức. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
Không áp dụng | Không thể phân giải việc tham chiếu đến biến chứa số lượng cho phép trong phần tử <Allow> của chính sách thành một giá trị. Phần tử này là bắt buộc và chỉ định số lượng để giảm bộ đếm hạn mức. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | Không thể phân giải biến được tham chiếu bởi thuộc tính ref trong phần tử <Quota> . |
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidCount |
Nếu giá trị số lượng được chỉ định trong phần tử <Allow> của Chính sách đặt lại hạn mức không phải là số nguyên, thì quá trình triển khai proxy API sẽ không thành công.
|
build |
Chính sách RaiseFault
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
steps.raisefault.RaiseFault |
500 | Xem chuỗi lỗi. |
Lỗi triển khai
Không nội dung nào.
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | raisefault.RF-ThrowError.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Chính sách về RegularExpressionProtection
Phần này mô tả các mã lỗi và thông báo được trả về cũng như các biến lỗi do Edge đặt ra khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Nếu bạn muốn phát hiện lỗi và báo lỗi tuỳ chỉnh của riêng mình, hãy đặt thuộc tính continueOnError="true"
trên thành phần gốc của chính sách.
Để tìm hiểu thêm, hãy xem bài viết
Những điều bạn cần biết về lỗi về chính sách và Xử lý lỗi.
Lỗi được trả về từ chính sách Edge theo một định dạng nhất quán như mô tả trong Tài liệu tham khảo mã lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Thông điệp |
---|---|
ExecutionFailed | Không thể thực thi RegularExpressionProtection StepDefinition {0}. Lý do: {1} |
InstantiationFailed | Không thể tạo thực thể của RegularExpressionProtection StepDefinition {0} |
NonMessageVariable | Biến {0} không phân giải thành Thông báo |
SourceMessageNotAvailable | {0} thông báo không có sẵn cho RegularExpressionProtection StepDefinition {1} |
ThreatDetected | Phát hiện mối đe doạ sử dụng biểu thức chính quy trong {0}: regex: {1} đầu vào: {2} |
VariableResolutionFailed | Không phân giải được biến {0} |
Lỗi triển khai
Mã lỗi | Thông điệp | Khắc phục |
---|---|---|
CannotBeConvertedToNodeset | RegularExpressionProtection {0}: Không thể chuyển đổi kết quả của xpath {1} thành tập hợp nút. Ngữ cảnh {2} | build |
DuplicatePrefix | RegularExpressionProtection {0}: Tiền tố trùng lặp {1} | build |
EmptyJSONPathExpression | RegularExpressionProtection {0}: Biểu thức JSONPath trống | build |
EmptyXPathExpression | RegularExpressionProtection {0}: Biểu thức XPath trống | build |
InvalidRegularExpression | Biểu thức chính quy chính quy {0}: Biểu thức chính quy không hợp lệ {1}, Ngữ cảnh {2} | build |
JSONPathCompilationFailed | RegularExpressionProtection {0}: Không thể biên dịch jsonpath {1}. Ngữ cảnh {2} | build |
NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: Không thể ánh xạ tiền tố không trống {1} tới uri trống | build |
NoPatternsToEnforce | RegularExpressionProtection {0}: Không có mẫu nào để thực thi trong {1} | build |
NothingToEnforce | RegularExpressionProtection {0}: ít nhất một trong các URIPath, QueryParam, Header, formParam, XMLPayload, JSONPayload là bắt buộc | build |
XPathCompilationFailed | RegularExpressionProtection {0}: Không biên dịch được xpath {1}. Ngữ cảnh {2} | build |
Biến lỗi
Các biến này được đặt khi chính sách này kích hoạt lỗi. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như được liệt kê trong bảng trên. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Chính sách SOAPMessageValidation
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Lỗi này xảy ra nếu một biến được chỉ định trong phần tử
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Lỗi này xảy ra nếu phần tử Các biến loại thông báo đại diện cho toàn bộ yêu cầu và phản hồi HTTP. Các biến luồng Edge
tích hợp sẵn |
build |
steps.messagevalidation.Failed |
500 | Lỗi này xảy ra nếu chính sách SOAPMessageValidation không xác thực được tải trọng thông báo đầu vào theo giản đồ XSD hoặc định nghĩa WSDL. Điều này cũng sẽ xảy ra nếu thông báo tải trọng có định dạng JSON hoặc XML không đúng định dạng. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidResourceType |
Phần tử <ResourceURL> trong chính sách SOAPMessageValidation được đặt thành một loại tài nguyên không được chính sách này hỗ trợ.
|
build |
ResourceCompileFailed |
Tập lệnh tài nguyên được tham chiếu trong phần tử <ResourceURL> của chính sách SOAPMessageValidation có chứa một lỗi ngăn cản quá trình biên dịch.
|
build |
RootElementNameUnspecified |
Phần tử <Element> trong chính sách SOAPMessageValidation không chứa tên của phần tử gốc. |
build |
InvalidRootElementName |
Phần tử <Element> trong chính sách SOAPMessageValidation chứa tên thành phần gốc không tuân thủ các quy tắc XML về cách đặt tên thành phần hợp lệ. |
build |
Chính sách SAMLAssertion
Phần này mô tả các mã lỗi và thông báo lỗi được trả về cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
SourceNotConfigured |
Chưa xác định hoặc để trống một hoặc nhiều phần tử sau đây của Chính sách xác thực xác nhận SAML: <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Nếu phần tử <TrustStore> trống hoặc không được chỉ định trong chính sách Xác thực SAMLAssertion, thì quá trình triển khai proxy API sẽ không thành công.
Bạn phải có kho lưu trữ Trust Store hợp lệ.
|
build |
NullKeyStoreAlias |
Nếu phần tử con <Alias> bị trống hoặc không được chỉ định trong phần tử <Keystore> của Tạo chính sách xác nhận SAML, thì quá trình triển khai proxy API sẽ không thành công. Bạn phải có bí danh hợp lệ của Kho khoá.
|
build |
NullKeyStore |
Nếu phần tử con <Name> bị để trống hoặc không được chỉ định trong phần tử <Keystore> của chính sách Tạo SAMLAssertion, thì quá trình triển khai proxy
API sẽ không thành công. Bạn phải nhập tên Kho khoá hợp lệ.
|
build |
NullIssuer |
Nếu phần tử <Issuer> bị trống hoặc không được chỉ định trong chính sách Tạo xác nhận SAML, thì quá trình triển khai proxy API sẽ không thành công. Bạn phải cung cấp một giá trị <Issuer> hợp lệ.
|
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Đối với cấu hình chính sách xác nhận SAML xác thực, tiền tố lỗi là
ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Ví dụ về quy tắc lỗi
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Chính sách về chú thích dịch vụ
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Lỗi này có thể xảy ra khi:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | Biến Yêu cầu được chỉ định trong chính sách không thuộc loại Thông báo. Ví dụ: nếu đó là một chuỗi hoặc loại nội dung khác không phải thông báo, thì bạn sẽ thấy lỗi này. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | Biến Yêu cầu được chỉ định trong chính sách không thuộc loại Thông báo yêu cầu. Ví dụ: nếu đó là loại Phản hồi, thì bạn sẽ thấy lỗi này. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
URLMissing |
Phần tử <URL> bên trong <HTTPTargetConnection> bị thiếu hoặc để trống. |
build |
ConnectionInfoMissing |
Lỗi này xảy ra nếu chính sách không có phần tử <HTTPTargetConnection> hoặc <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Lỗi này xảy ra khi giá trị <Timeout> là số âm hoặc 0. |
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | servicecallout.SC-GetUserData.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Ví dụ về quy tắc lỗi
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Chính sách của SpikeArrest
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem bài viết Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Lỗi này xảy ra nếu không phân giải được tham chiếu đến biến chứa chế độ cài đặt tốc độ trong phần tử <Rate> thành một giá trị trong chính sách Tạm ngưng tăng đột biến. Phần tử này là bắt buộc và được dùng để chỉ định tốc độ bắt giữ tăng đột biến ở dạng intpm hoặc intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Lỗi này xảy ra nếu giá trị được chỉ định cho phần tử <MessageWeight> thông qua biến luồng không hợp lệ (một giá trị không phải số nguyên). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Đã vượt quá giới hạn tốc độ. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidAllowedRate |
Nếu tỷ lệ bắt giữ tăng đột biến được chỉ định trong phần tử <Rate> của Chính sách về gia tăng đột biến
không phải là số nguyên hoặc nếu tỷ lệ đó không chứa ps hoặc pm làm hậu tố,
thì tức là không triển khai được proxy API. |
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Ví dụ về phản hồi lỗi
Dưới đây là ví dụ về phản hồi lỗi:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Ví dụ về quy tắc lỗi
Dưới đây là một ví dụ về quy tắc lỗi để xử lý lỗi 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>
Chính sách Thống kê thu thập
Phần này mô tả các thông báo lỗi và biến luồng được thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng mà bạn cần biết nếu đang phát triển các quy tắc lỗi cho một proxy. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Không nội dung nào.
Lỗi triển khai
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
UnsupportedDatatype |
Nếu loại biến được chỉ định bởi thuộc tính tham chiếu trong phần tử <Statistic> của chính sách Trình thu thập số liệu thống kê không được hỗ trợ, thì việc triển khai proxy API sẽ không thành công. Dữ liệu duyệt web gồm có các loại dữ liệu sau: string , integer , float , long , double và boolean . |
build |
InvalidName |
Nếu tên dùng để tham chiếu dữ liệu thu thập được cho biến được chỉ định được xác định trong phần tử <Statistic> của chính sách Trình thu thập thống kê xung đột với một biến do hệ thống xác định, thì sẽ không triển khai được proxy API. Một số biến do hệ thống xác định đã biết là organization và environment . |
build |
DatatypeMissing |
Nếu thiếu loại biến do thuộc tính ref chỉ định trong phần tử <Statistic> của chính sách Trình thu thập số liệu thống kê, thì sẽ không triển khai được proxy API. |
build |
Biến lỗi
Không nội dung nào.
Chính sách VerifyAPIKey
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | Công ty liên kết với Ứng dụng của nhà phát triển có khoá API mà bạn đang sử dụng có trạng thái không hoạt động. Khi trạng thái của một Công ty được đặt thành không hoạt động, bạn không thể truy cập vào các nhà phát triển hoặc ứng dụng được liên kết với Công ty đó. Quản trị viên tổ chức có thể thay đổi trạng thái của một công ty bằng cách sử dụng API quản lý. Xem Đặt trạng thái của một công ty. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Nhà phát triển tạo Ứng dụng dành cho nhà phát triển có khoá API mà bạn đang sử dụng sẽ có trạng thái không hoạt động. Khi trạng thái của một Nhà phát triển ứng dụng được đặt thành không hoạt động, thì mọi Ứng dụng của nhà phát triển do nhà phát triển đó tạo đều bị huỷ kích hoạt. Người dùng quản trị có quyền thích hợp (chẳng hạn như Quản trị viên tổ chức) có thể thay đổi trạng thái của nhà phát triển theo những cách sau:
|
keymanagement.service.invalid_client-app_not_approved |
401 | Ứng dụng của nhà phát triển liên kết với khoá API đã bị thu hồi. Ứng dụng đã bị thu hồi sẽ không thể truy cập vào bất kỳ sản phẩm API nào và không thể gọi bất kỳ API nào do Apigee Edge quản lý. Quản trị viên tổ chức có thể thay đổi trạng thái của Ứng dụng của nhà phát triển bằng API quản lý. Xem phần Phê duyệt hoặc thu hồi ứng dụng của nhà phát triển. |
oauth.v2.FailedToResolveAPIKey |
401 | Chính sách này dự kiến sẽ tìm thấy khoá API trong một biến được chỉ định trong phần tử <APIKey> của chính sách. Lỗi này phát sinh khi biến dự kiến không tồn tại (không thể giải quyết). |
oauth.v2.InvalidApiKey |
401 | Edge đã nhận được một khoá API nhưng khoá này không hợp lệ. Khi Edge tra cứu khoá trong cơ sở dữ liệu của mình, khoá này phải khớp chính xác với khoá đã gửi trong yêu cầu. Nếu API này từng hoạt động, hãy đảm bảo chưa tạo lại khoá. Nếu khoá đã được tạo lại, bạn sẽ thấy lỗi này nếu cố sử dụng khoá cũ. Để biết thông tin chi tiết, hãy xem phần Đăng ký ứng dụng và quản lý khoá API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Một khoá API mà Edge nhận được và khoá đó là hợp lệ; tuy nhiên, khoá này không khớp với khoá được phê duyệt trong Ứng dụng dành cho nhà phát triển liên kết với proxy API của bạn thông qua một Sản phẩm. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân |
---|---|
SpecifyValueOrRefApiKey |
Chưa chỉ định giá trị hoặc khoá cho phần tử <APIKey> . |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | oauthV2.VK-VerifyAPIKey.failed = true |
Ví dụ về phản hồi lỗi
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Ví dụ về quy tắc lỗi
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Chính sách VerifyJWS
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | Xảy ra khi chính sách xác minh có nhiều thuật toán |
steps.jws.AlgorithmMismatch |
401 | Thuật toán do chính sách Tạo chỉ định trong tiêu đề không khớp với thuật toán dự kiến trong chính sách Xác minh. Thuật toán được chỉ định phải khớp. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> được chỉ định khi JWS không chứa tải trọng nội dung có thể tách rời. |
steps.jws.FailedToDecode |
401 | Chính sách không thể giải mã JWS. JWS có thể bị hỏng. |
steps.jws.InsufficientKeyLength |
401 | Đối với khoá nhỏ hơn 32 byte đối với thuật toán HS256 |
steps.jws.InvalidClaim |
401 | Đối với thông báo xác nhận quyền sở hữu bị thiếu hoặc không khớp hoặc thiếu tiêu đề hoặc tiêu đề không khớp. |
steps.jws.InvalidCurve |
401 | Đường cong do khoá chỉ định không hợp lệ cho thuật toán Đường cong Elliptic. |
steps.jws.InvalidJsonFormat |
401 | Tìm thấy JSON không hợp lệ trong tiêu đề JWS. |
steps.jws.InvalidJws |
401 | Lỗi này xảy ra khi không xác minh được chữ ký JWS. |
steps.jws.InvalidPayload |
401 | Tải trọng JWS không hợp lệ. |
steps.jws.InvalidSignature |
401 | <DetachedContent> bị bỏ qua và JWS có tải trọng nội dung tách rời. |
steps.jws.KeyIdMissing |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng JWS đã ký không
có thuộc tính kid trong tiêu đề. |
steps.jws.KeyParsingFailed |
401 | Không thể phân tích cú pháp khoá công khai từ thông tin khoá đã cho. |
steps.jws.MissingPayload |
401 | Thiếu tải trọng JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Xảy ra khi JWS bỏ qua tiêu đề thuật toán. |
steps.jws.NoMatchingPublicKey |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng kid
trong JWS đã ký không có trong JWKS. |
steps.jws.UnhandledCriticalHeader |
401 | Một tiêu đề mà chính sách Xác minh JWS tìm thấy trong tiêu đề crit không được liệt kê trong KnownHeaders . |
steps.jws.UnknownException |
401 | Đã xảy ra ngoại lệ không xác định. |
steps.jws.WrongKeyType |
401 | Chỉ định sai loại khoá. Ví dụ: nếu bạn chỉ định khoá RSA cho thuật toán Elliptic Curve hoặc khoá đường cong cho thuật toán RSA. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Xảy ra khi |
---|---|
InvalidAlgorithm |
Các giá trị hợp lệ duy nhất là: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
Các lỗi triển khai khác có thể xảy ra. |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWS.failed |
Tất cả các chính sách JWS đều đặt cùng một biến trong trường hợp xảy ra lỗi. | jws.JWS-Policy.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<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>
chính sách VerifyJWT
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Xảy ra khi |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Xảy ra khi chính sách xác minh có nhiều thuật toán. |
steps.jwt.AlgorithmMismatch |
401 | Thuật toán được chỉ định trong chính sách Tạo không khớp với thuật toán dự kiến trong chính sách Xác minh. Thuật toán được chỉ định phải khớp. |
steps.jwt.FailedToDecode |
401 | Chính sách không thể giải mã JWT. JWT có thể bị hỏng. |
steps.jwt.GenerationFailed |
401 | Chính sách không thể tạo JWT. |
steps.jwt.InsufficientKeyLength |
401 | Đối với khoá có kích thước nhỏ hơn 32 byte đối với thuật toán HS256, nhỏ hơn 48 byte đối với thuật toán HS386 và nhỏ hơn 64 byte đối với thuật toán HS512. |
steps.jwt.InvalidClaim |
401 | Đối với thông báo xác nhận quyền sở hữu bị thiếu hoặc không khớp hoặc thiếu tiêu đề hoặc tiêu đề không khớp. |
steps.jwt.InvalidCurve |
401 | Đường cong do khoá chỉ định không hợp lệ cho thuật toán Đường cong Elliptic. |
steps.jwt.InvalidJsonFormat |
401 | Tìm thấy JSON không hợp lệ trong tiêu đề hoặc tải trọng. |
steps.jwt.InvalidToken |
401 | Lỗi này xảy ra khi không xác minh được chữ ký JWT. |
steps.jwt.JwtAudienceMismatch |
401 | Không xác nhận được đối tượng khi xác minh mã thông báo. |
steps.jwt.JwtIssuerMismatch |
401 | Xác nhận quyền sở hữu của nhà phát hành không thành công khi xác minh mã thông báo. |
steps.jwt.JwtSubjectMismatch |
401 | Không xác nhận được chủ thể khi xác minh mã thông báo. |
steps.jwt.KeyIdMissing |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng JWT đã ký không
có thuộc tính kid trong tiêu đề. |
steps.jwt.KeyParsingFailed |
401 | Không thể phân tích cú pháp khoá công khai từ thông tin khoá đã cho. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Xảy ra khi JWT không chứa tiêu đề thuật toán. |
steps.jwt.NoMatchingPublicKey |
401 | Chính sách Xác minh sử dụng JWKS làm nguồn cho khoá công khai, nhưng kid
trong JWT đã ký không có trong JWKS. |
steps.jwt.SigningFailed |
401 | Trong GenerateJWT, đối với khoá nhỏ hơn kích thước tối thiểu dành cho thuật toán HS384 hoặc HS512 |
steps.jwt.TokenExpired |
401 | Chính sách này cố gắng xác minh một mã thông báo đã hết hạn. |
steps.jwt.TokenNotYetValid |
401 | Mã thông báo chưa hợp lệ. |
steps.jwt.UnhandledCriticalHeader |
401 | Một tiêu đề do chính sách Verify JWT tìm thấy trong tiêu đề crit không được liệt kê trong KnownHeaders . |
steps.jwt.UnknownException |
401 | Đã xảy ra ngoại lệ không xác định. |
steps.jwt.WrongKeyType |
401 | Chỉ định sai loại khoá. Ví dụ: nếu bạn chỉ định khoá RSA cho thuật toán Elliptic Curve hoặc khoá đường cong cho thuật toán RSA. |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
InvalidNameForAdditionalClaim |
Việc triển khai sẽ không thành công nếu thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> là một trong những tên đã đăng ký sau đây: kid , iss , sub , aud , iat , exp , nbf hoặc jti .
|
build |
InvalidTypeForAdditionalClaim |
Nếu thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> không thuộc loại string , number , boolean hoặc map , thì quá trình triển khai sẽ không thành công.
|
build |
MissingNameForAdditionalClaim |
Nếu tên của thông báo xác nhận quyền sở hữu không được chỉ định trong phần tử con <Claim> của phần tử <AdditionalClaims> , thì quá trình triển khai sẽ không thành công.
|
build |
InvalidNameForAdditionalHeader |
Lỗi này xảy ra khi tên của thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> là alg hoặc typ .
|
build |
InvalidTypeForAdditionalHeader |
Nếu loại thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim> của phần tử <AdditionalClaims> không thuộc loại string , number , boolean hoặc map , thì quá trình triển khai sẽ không thành công.
|
build |
InvalidValueOfArrayAttribute |
Lỗi này xảy ra khi giá trị của thuộc tính mảng trong phần tử con <Claim> của phần tử <AdditionalClaims> không được đặt thành true hoặc false .
|
build |
InvalidValueForElement |
Nếu giá trị được chỉ định trong phần tử <Algorithm> không phải là giá trị được hỗ trợ, thì quá trình triển khai sẽ không thành công.
|
build |
MissingConfigurationElement |
Lỗi này sẽ xảy ra nếu không sử dụng phần tử <PrivateKey> với thuật toán nhóm RSA hoặc phần tử <SecretKey> không được sử dụng với thuật toán Nhóm HS.
|
build |
InvalidKeyConfiguration |
Nếu phần tử con <Value> không được xác định trong các phần tử <PrivateKey> hoặc <SecretKey> , thì quá trình triển khai sẽ không thành công.
|
build |
EmptyElementForKeyConfiguration |
Nếu thuộc tính ref của phần tử con <Value> trong các phần tử <PrivateKey> hoặc <SecretKey> bị trống hoặc chưa được chỉ định, thì quá trình triển khai sẽ không thành công.
|
build |
InvalidConfigurationForVerify |
Lỗi này xảy ra nếu phần tử <Id> được xác định trong phần tử <SecretKey> .
|
build |
InvalidEmptyElement |
Lỗi này xảy ra nếu phần tử <Source> của chính sách Verify JWT trống. Nếu có, bạn phải xác định biến này bằng tên biến Luồng biên.
|
build |
InvalidPublicKeyValue |
Nếu giá trị dùng trong phần tử con <JWKS> của phần tử <PublicKey> không sử dụng định dạng hợp lệ như được chỉ định trong RFC 7517, thì quá trình triển khai sẽ không thành công.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Nếu phần tử <PrivateKey> được sử dụng với thuật toán Gia đình HS hoặc phần tử <SecretKey> được sử dụng với thuật toán Nhóm RSA, thì quá trình triển khai sẽ không thành công.
|
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "TokenExpired" |
JWT.failed |
Tất cả các chính sách JWT đều đặt cùng một biến trong trường hợp xảy ra lỗi. | JWT.failed = true |
Ví dụ về phản hồi lỗi
Để xử lý lỗi, phương pháp hay nhất là giữ phần errorcode
của phản hồi lỗi. Đừng dựa vào văn bản trong faultstring
vì văn bản này có thể thay đổi.
Ví dụ về quy tắc lỗi
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Chính sách XML
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | Chính sách XML AeeGuard có thể gửi nhiều loại lỗi ExecutionFailed. Hầu hết các lỗi này xảy ra khi vượt quá một ngưỡng cụ thể được đặt trong chính sách. Những loại lỗi này bao gồm: độ dài tên phần tử, số lượng phần tử con, độ sâu nút, số lượng thuộc tính, độ dài tên thuộc tính và nhiều loại lỗi khác. Bạn có thể xem danh sách đầy đủ trong chủ đề Khắc phục sự cố liên quan đến lỗi thời gian chạy của chính sách XMLAnswerProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Lỗi này xảy ra nếu tải trọng thông báo đầu vào được chỉ định bởi phần tử <Source> của chính sách XML AeProtection không phải là một Tài liệu XML hợp lệ.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Lỗi này xảy ra nếu biến thông báo
được chỉ định trong phần tử <Source> là:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Lỗi này xảy ra nếu phần tử <Source> được đặt thành một biến không thuộc loại thông báo.
|
build |
Lưu ý:
- Tên lỗi ExecutionFailed là tên lỗi mặc định và sẽ được trả về bất kể loại lỗi nào được phát hiện. Tuy nhiên, bạn có thể thay đổi giá trị mặc định này bằng cách đặt một thuộc tính cấp tổ chức. Khi bạn đặt thuộc tính này, tên lỗi sẽ phản ánh lỗi thực tế. Ví dụ: "TextExceptions" hoặc "AttrValueAddeded". Hãy xem Ghi chú sử dụng để biết thông tin chi tiết.
- Trạng thái HTTP 500 là trạng thái mặc định. Tuy nhiên, bạn có thể thay đổi Trạng thái HTTP thành 400 đối với các lỗi luồng yêu cầu bằng cách thiết lập một tài sản ở cấp tổ chức. Hãy xem Ghi chú sử dụng để biết thông tin chi tiết.
Lỗi triển khai
Không nội dung nào.
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | xmlattack.XPT-SecureRequest.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách XMLtoJSON
Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge đặt khi chính sách này kích hoạt lỗi. Thông tin này đóng vai trò quan trọng trong việc phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem Những điều bạn cần biết về lỗi chính sách và Xử lý lỗi.
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Lỗi này xảy ra khi tải trọng đầu vào (XML) trống hoặc XML đầu vào không hợp lệ hoặc sai định dạng. | build |
steps.xmltojson.InCompatibleType |
500 | Lỗi này xảy ra nếu loại biến được xác định trong phần tử <Source> và phần tử <OutputVariable> không giống nhau. Bắt buộc phải khớp loại của các biến có trong phần tử <Source> và phần tử <OutputVariable> .
|
build |
steps.xmltojson.InvalidSourceType |
500 | Lỗi này xảy ra nếu loại biến dùng để xác định phần tử <Source> không hợp lệ.Các loại biến hợp lệ là thông điệp và chuỗi. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | Lỗi này xảy ra nếu biến được chỉ định trong phần tử <Source> của chính sách XML cho JSON thuộc loại chuỗi và phần tử <OutputVariable> không được xác định.
Phần tử <OutputVariable> là bắt buộc khi biến được xác định trong phần tử <Source> thuộc kiểu chuỗi. |
build |
steps.xmltojson.SourceUnavailable |
500 |
Lỗi này xảy ra nếu biến thông báo được chỉ định trong phần tử <Source> của chính sách XML sang JSON là:
|
build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
EitherOptionOrFormat |
Nếu một trong các phần tử <Options> hoặc <Format> không được khai báo trong Chính sách XML sang JSON, thì hoạt động triển khai proxy API sẽ không thành công.
|
build |
UnknownFormat |
Nếu phần tử <Format> trong chính sách XML sang JSON có định dạng không xác định, thì sẽ không triển khai được proxy API. Các định dạng được xác định trước bao gồm: xml.com , yahoo , google và badgerFish .
|
build |
Biến lỗi
Các biến này được đặt khi xảy ra lỗi thời gian chạy. Để biết thêm thông tin, hãy xem Những điều bạn cần biết về lỗi chính sách.
Biến | Trong đó | Ví dụ: |
---|---|---|
fault.name="fault_name" |
fault_name là tên của lỗi, như liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name là tên của chính sách báo lỗi do người dùng chỉ định. | xmltojson.XMLtoJSON-1.failed = true |
Ví dụ về phản hồi lỗi
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Ví dụ về quy tắc lỗi
<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>
Chính sách SHORTTransform
Lỗi thời gian chạy
Những lỗi này có thể xảy ra khi thực thi chính sách.
Mã lỗi | Trạng thái HTTP | Nguyên nhân | Khắc phục |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Lỗi này xảy ra nếu thông báo hoặc biến chuỗi được chỉ định trong phần tử <Source> của
chính sách Chuyển đổi NDK nằm ngoài phạm vi (không có sẵn trong quy trình cụ thể nơi
chính sách đang được thực thi) hoặc không thể được giải quyết (không được xác định).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Lỗi này xảy ra nếu tải trọng XML đầu vào không có sẵn/không đúng định dạng hoặc chính sách NDKTransform bị lỗi/không thể chuyển đổi tệp XML đầu vào dựa trên quy tắc chuyển đổi được cung cấp trong tệp NDK. Có thể có nhiều nguyên nhân khác nhau khiến chính sách NDKTransform không thành công. Lý do không thực hiện được trong thông báo lỗi sẽ cung cấp thêm thông tin về nguyên nhân. | build |
Lỗi triển khai
Những lỗi này có thể xảy ra khi bạn triển khai proxy chứa chính sách này.
Tên lỗi | Nguyên nhân | Khắc phục |
---|---|---|
XSLEmptyResourceUrl |
Nếu phần tử <ResourceURL> trong chính sách Chuyển đổi NDK trống, thì quá trình triển khai proxy API sẽ không thành công. |
build |
XSLInvalidResourceType |
Nếu loại tài nguyên được chỉ định trong phần tử <ResourceURL> của chính sách Chuyển đổi NDK không phải thuộc loại xsl thì sẽ không triển khai được proxy API. |
build |