Tài liệu tham khảo về lỗi chính sách

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áchXử 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.

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áchXử 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áchXử 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 source trong phần tử <Copy> được đặt thành một biến không thuộc loại thông báo.

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 request, responsemessage thuộc loại thông báo. Để tìm hiểu thêm về các biến thông báo, hãy xem Tài liệu tham khảo về biến.

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:

  • ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách)
  • hoặc
  • không thể phân giải (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 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.
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ệ.
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áchXử 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").
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.

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.
PasswordRequired Phần tử <Password> phải có cho thao tác được đặt tên.
AssignToRequired Phần tử <AssignTo> phải có cho thao tác được đặt tên.
SourceRequired Phần tử <Source> phải có cho thao tác được đặt tên.

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áchXử 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\
NotAllowedAtProxyEndpoint
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\
MissingAtTargetEndpoint
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áchXử 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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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áchXử 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ã.
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.

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.

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

Mã lỗi chính sách JWT

Để 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áchXử 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:

  • Tải trọng đầu vào (JSON, XML) trống.
  • Dữ liệu đầu vào (JSON, XML, v.v.) được chuyển đến chính sách không hợp lệ hoặc không đúng định dạng.
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.
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.
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.
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à:
  • Ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách) hoặc
  • Không thể phân giải (không xác định)
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.

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

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áchXử 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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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áchXử 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.
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.
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.
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>alg hoặc typ.
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.
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.
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.
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.
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.
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.
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.
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.).
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.).
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.

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

Mã lỗi chính sách JWT

Để 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áchXử 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.

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áchXử 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, TypeErrorURIError.
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.
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.
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).
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>.

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áchXử 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ệ.
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à:
  • Ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách)
  • Không phải là một trong các giá trị hợp lệ request, response, hoặc message
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.

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áchXử 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.
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à messagestring.
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à messagestring.
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.
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:
  • ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách) hoặc
  • không thể phân giải (không xác định)

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áchXử 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ố private. Tiền tố (bắt buộc cho các mục đích bảo mật cơ bản trong quá trình gỡ lỗi) sẽ ẩn các giá trị đã mã hoá khỏi công cụ Theo dõi proxy API và các phiên gỡ lỗi.

steps.keyvaluemapoperations.UnsupportedOperationException 500

Lỗi này xảy ra nếu thuộc tính mapIdentifier được đặt thành chuỗi trống trong chính sách về Hoạt động bản đồ giá trị khoá.

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ệ.
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á.
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á.

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áchXử 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ợ.
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.

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áchXử 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ử <Source> của chính sách nằm ngoài phạm vi hoặc không thể giải quyết được.

steps.oasvalidation.NotMessageVariable 500

Phần tử <Source> được đặt thành một biến không thuộc loại message.

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áchXử 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.
CacheNotFound Bộ nhớ đệm được chỉ định trong phần tử <CacheResource> không tồn tạ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 = "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áchXử 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.
InvalidTimeout Nếu bạn đặt phần tử <CacheLookupTimeoutInSeconds> thành số âm, thì proxy API sẽ không triển khai được.
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.

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áchXử 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.
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.

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áchXử 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.
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.
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.
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.
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ệ.
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.

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áchXử 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
InvalidateToken

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
InvalidateToken

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 <GenerateResponse> của chính sách được đặt thành true và mã ứng dụng khách được gửi trong yêu cầu không hợp lệ. Hãy kiểm tra để đảm bảo bạn đang sử dụng đúng khoá ứng dụng khách và giá trị bí mật cho Ứng dụng dành cho nhà phát triển được liên kết với proxy của bạn. Thông thường, các giá trị này được gửi dưới dạng tiêu đề Uỷ quyền cơ bản được mã hoá Base64.

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 invalid_clientInvalidClientIdentifier. Hãy xem Ghi chú phát hành 16.09.21 để biết thêm thông tin và ví dụ.

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\
steps.oauth.v2.ApiProductMatchFound
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 <GenerateResponse> của chính sách được đặt thành false và mã ứng dụng khách được gửi trong yêu cầu không hợp lệ. Hãy kiểm tra để đảm bảo bạn đang sử dụng đúng khoá ứng dụng khách và giá trị bí mật cho Ứng dụng dành cho nhà phát triển được liên kết với proxy của bạn. Thông thường, các giá trị này được gửi dưới dạng tiêu đề Uỷ quyền cơ bản được mã hoá Base64.

Lưu ý: Trong trường hợp này, lỗi này trước đây được gọi là invalid_client. Bạn nên thay đổi các điều kiện hiện có của quy tắc lỗi để nắm bắt cả tên invalid_clientInvalidClientIdentifier. Hãy xem Ghi chú phát hành 16.09.21 để biết thêm thông tin và ví dụ.

CreateAccessToken
RefreshAccessToken

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ử <ExpiresIn>, các giá trị hợp lệ là số nguyên dương và -1.

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ử <Operation>.

Lưu ý: Nếu phần tử <Operation> bị thiếu, giao diện người dùng sẽ gửi lỗi xác thực giản đồ.

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ử <Operation>.

Lưu ý: Nếu phần tử <Operation> không hợp lệ, thì giao diện người dùng sẽ gửi lỗi xác thực giản đồ.

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: keymanagement.service
Ví dụ: keymanagement.service.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.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>true.

Nếu <GenerateResponse>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>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áchXử 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áchXử 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áchXử 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áchXử 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 NameErrorZeroDivisionError.

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

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áchXử 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>.
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.
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).
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.
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, weekmonth.
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, flexirollingwindow.
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>7-16-2017 12:00:00, thì sẽ không triển khai được proxy API.
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.
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.
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.
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.

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áchXử 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.
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.
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>.

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.

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áchXử 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áchXử 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}
DuplicatePrefix RegularExpressionProtection {0}: Tiền tố trùng lặp {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Biểu thức JSONPath trống
EmptyXPathExpression RegularExpressionProtection {0}: Biểu thức XPath trống
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}
JSONPathCompilationFailed RegularExpressionProtection {0}: Không thể biên dịch jsonpath {1}. Ngữ cảnh {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Không thể ánh xạ tiền tố không trống {1} tới uri trống
NoPatternsToEnforce RegularExpressionProtection {0}: Không có mẫu nào để thực thi trong {1}
NothingToEnforce RegularExpressionProtection {0}: ít nhất một trong các URIPath, QueryParam, Header, formParam, XMLPayload, JSONPayload là bắt buộc
XPathCompilationFailed RegularExpressionProtection {0}: Không biên dịch được xpath {1}. Ngữ cảnh {2}

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áchXử 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ử <Source> của chính sách:

  • ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách)
  • hoặc
  • không thể phân giải (không xác định)
steps.messagevalidation.NonMessageVariable 500

Lỗi này xảy ra nếu phần tử <Source> trong chính sách SOAPMessageValidation được đặt thành một biến không thuộc loại thông báo.

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 request, responsemessage thuộc loại thông báo. Để tìm hiểu thêm về các biến thông báo, hãy xem Tài liệu tham khảo về biến.

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.

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ợ.
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.
RootElementNameUnspecified Phần tử <Element> trong chính sách SOAPMessageValidation không chứa tên của phần tử gốc.
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ệ.

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áchXử 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>.
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ệ.
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á.
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ệ.
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ệ.

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áchXử 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:

  • chính sách này được yêu cầu xử lý dữ liệu nhập không đúng định dạng hoặc không hợp lệ.
  • dịch vụ đích phụ trợ sẽ trả về trạng thái lỗi (theo mặc định là 4xx hoặc 5xx).
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.
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.

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.
ConnectionInfoMissing Lỗi này xảy ra nếu chính sách không có phần tử <HTTPTargetConnection> hoặc <LocalTargetConnection>.
InvalidTimeoutValue Lỗi này xảy ra khi giá trị <Timeout> là số âm hoặc 0.

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áchXử 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.
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).
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.

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áchXử 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, doubleboolean.
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à organizationenvironment.
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.

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áchXử 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áchXử 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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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áchXử 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.
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.
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.
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>alg hoặc typ.
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.
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.
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.
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.
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.
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.
InvalidConfigurationForVerify Lỗi này xảy ra nếu phần tử <Id> được xác định trong phần tử <SecretKey>.
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.
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.
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.

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

Mã lỗi chính sách JWT

Để 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áchXử 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.
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ệ.
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à:
  • Ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách)
  • Không phải là một trong các giá trị hợp lệ request, response, hoặc message
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.

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áchXử 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.
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>.
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.
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.
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à:
  • ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách) hoặc
  • không thể phân giải (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 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.
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, googlebadgerFish.

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).
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.

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