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 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 bài viết Những điều bạn cần biết về lỗi chính sáchCách xử lý lỗi.

Lỗi thời gian chạy

Những lỗi này có thể xảy ra khi chính sách này thực thi.

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 khách hoặc địa chỉ IP được truyền trong yêu cầu API, khớp với địa chỉ IP được chỉ định trong phần tử <SourceAddress> trong phần tử <MatchRule> của Chính sách kiểm soát quyền truy cập và thuộc tính action của chính sách 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 dành riêng 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. acl.AC-AllowAccess.failed = true

Ví dụ về phản hồi khi gặp 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 rất quan trọng để biết bạn có đang phát triển các quy tắc lỗi để xử lý lỗi hay không. Để tìm hiểu thêm, hãy xem bài viết Những điều cần biết về lỗi liên quan đến 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 chính sách thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân Cách khắc phục
steps.assignmessage.SetVariableFailed 500 Chính sách này không đặt được biến. Xem chuỗi lỗi để biết tên của biến chưa được phân giải.
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 message.

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 là:

  • ngoài phạm vi (không có trong luồng cụ thể mà chính sách đang được thực thi)
  • hoặc
  • không thể phân giải (chưa được 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 một proxy chứa chính sách này.

Tên lỗi Nguyên nhân Cách khắc phục
InvalidIndex Nếu chỉ mục được chỉ định trong phần tử <Copy> và/hoặc <Remove> của chính sách Chỉ định thông báo là 0 hoặc số âm, thì việc 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ệ để gán giá trị. Bạn phải nhập tên biến hợp lệ.
InvalidPayload Trọng tải được chỉ định trong chính sách là 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 liên quan đến 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 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 do người dùng chỉ định của chính sách gây ra lỗi. assignmessage.AM-SetResponse.failed = true

Ví dụ về phản hồi khi gặp 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. Thông tin này rất quan trọng để biết liệu bạn có đang phát triển các quy tắc lỗi để xử lý lỗi hay không. Để 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áchCách xử lý lỗi.

Lỗi thời gian chạy

Những lỗi này có thể xảy ra khi chính sách thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân Cách khắc phục
steps.basicauthentication.InvalidBasicAuthenticationSource 500 Khi giải mã, nếu chuỗi được mã hoá Base64 đến không chứa giá trị hợp lệ hoặc tiêu đề có định dạng không chính xác (ví dụ: không bắt đầu bằng "Basic").
steps.basicauthentication.UnresolvedVariable 500 Không có biến nguồn bắt buộc để giải mã hoặc mã hoá. Lỗi này chỉ có thể xảy ra nếu IgnoreUnresolvedVariables là sai.

Lỗi triển khai

Những lỗi này có thể xảy ra khi bạn triển khai một proxy chứa chính sách này.

Tên lỗi Xảy ra khi Cách khắc phục
UserNameRequired Phần tử <User> phải có mặt cho thao tác được đặt tên.
PasswordRequired Phần tử <Password> phải có trong toán tử được đặt tên.
AssignToRequired Phần tử <AssignTo> phải có trong toán tử được đặt tên.
SourceRequired Phần tử <Source> phải có trong toán tử đượ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 bài viết Những điều bạn cần biết về lỗi liên quan đến 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 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 do người dùng chỉ định của chính sách đã gửi lỗi. 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. Bạn cần biết thông tin này nếu đang phát triển 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 cần biết về lỗi liên quan đến 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 chính sách thực thi.

Mã lỗi Trạng thái HTTP Xảy ra khi
policies.concurrentratelimit.ConcurrentRatelimtViolation 503

Đã vượt quá giới hạn kết nối ConcurrentRatelimit. Giới hạn kết nối : {0}

Lưu ý: Mã lỗi hiển thị ở 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ạ tại đâ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ố lượng không hợp lệ cho ConcurrentRatelimit.
ConcurrentRatelimitStepAttachment\
NotAllowedAtProxyEndpoint
Không cho phép tệp đính kèm chính sách giới hạn tốc độ đồng thời {0} tại đường dẫn yêu cầu/phản hồi/lỗi của proxy. Bạn phải đặt chính sách này trên Điểm cuối mục tiêu.
ConcurrentRatelimitStepAttachment\
MissingAtTargetEndpoint
Thiếu tệp đính kèm chính sách Hạn mức tốc độ đồng thời {0} tại đường dẫn yêu cầu/phản hồi/lỗi mục tiêu. Bạn phải đặt chính sách này trong Luồng trước yêu cầu mục tiêu, Luồng sau phản hồi mục tiêu và DefaultFaultRule.
InvalidTTLForMessageTimeOut Giá trị ttl không hợp lệ của ConcurrentRatelimit được chỉ định cho thời gian chờ thông báo. Giá trị này phải là 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 bài viết Những điều bạn cần biết về lỗi liên quan đến 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 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 trong ví dụ là chính xác, mặc dù có lỗi chính tả ("limt"). Vui lòng sử dụng mã chính xác như minh hoạ tại đây khi tạo quy tắc lỗi để phát hiện lỗi này.

concurrentratelimit.policy_name.failed policy_name là tên do người dùng chỉ định của chính sách đã gửi lỗi. 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 này sẽ chỉ trả về trạng thái HTTP 503 cho ứng dụng 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 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ư được 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 có lỗi. jws.JWS-Policy.failed = true

Ví dụ về phản hồi khi gặp lỗi

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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ư được 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 không thành công. JWT.failed = true

Ví dụ về phản hồi khi gặp lỗi

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

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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 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 chính sách này thực thi.

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 sai định dạng.
steps.extractvariables.ImmutableVariable 500 Một biến được dùng trong chính sách là không thể thay đổi. Chính sách không thể đặt chế độ này biến.
steps.extractvariables.InvalidJSONPath 500 Lỗi này xảy ra nếu bạn sử dụng một đường dẫn JSON không hợp lệ trong phần tử JSONPath của phần tử . 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 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, chỉ số 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 hiện tại luồng.
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 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 có cùng từ nhưng ở định dạng lồng nhau được phân tách bằng dấu chấm.
steps.extractvariables.SourceMessageNotAvailable 500 Lỗi này xảy ra nếu thông báo biến được chỉ định trong phần tử Source của chính sách là:
  • Nằm ngoài phạm vi áp dụng (không áp dụng trong quy trình cụ thể mà chính sách đang được thực thi) hoặc
  • Không thể giải quyết (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 nội dung đã trích xuất giá trị cho 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 kiểu dữ liệu với một biến thuộc kiểu 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 có 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 này không có bất kỳ phần tử nào URIPath, QueryParam, Header, FormParam, XMLPayload hoặc JSONPayload, việc triển khai Proxy API không thành công do không có tệp nào để trích xuất.
NONEmptyPrefixMappedToEmptyURI Lỗi này xảy ra nếu chính sách này có một tiền tố được xác định trong phần Phần tử Namespace trong phần tử XMLPayload, nhưng không có URI nào xác định.
DuplicatePrefix Lỗi này xảy ra nếu chính sách có cùng tiền tố được xác định lớn hơn một lần trong phần tử Namespace trong 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ì việc triển khai proxy API sẽ không thành công do lỗi này.
EmptyXPathExpression Nếu chính sách có biểu thức XPath trống trong XMLPayload thì việc triển khai proxy API không thành công.
NoJSONPathsToEvaluate Nếu chính sách này không có phần tử JSONPath trong phần tử JSONPayload, thì việc triển khai proxy API sẽ không thành công do lỗi này.
EmptyJSONPathExpression Nếu chính sách có biểu thức XPath trống trong XMLPayload, thì việc triển khai proxy API sẽ không thành công.
MissingName Nếu chính sách này không có thuộc tính name trong bất kỳ chính sách nào như QueryParam, Header, FormParam hoặc Variable, nếu cần, thì việc triển khai proxy API sẽ không thành công.
PatternWithoutVariable Nếu chính sách không có biến được chỉ định trong phần tử Pattern, thì việc triển khai proxy API không thành công. Phần tử Pattern yêu cầu tên của biến lưu trữ dữ liệu đã trích xuất.
CannotBeConvertedToNodeset Nếu chính sách có biểu thức XPath trong đó loại Variable được định nghĩa là nodeset, nhưng không chuyển đổi được biểu thức thành tập hợp nút thì việc triển khai proxy API không thành công.
JSONPathCompilationFailed Chính sách này không thể biên dịch một đường dẫn JSON được chỉ định.
InstantiationFailed Không thể tạo thực thể cho chính sách này.
XPathCompilationFailed Nếu tiền tố hoặc giá trị dùng trong phần tử XPath không thuộc bất kỳ giá trị nào không gian tên đã khai báo trong chính sách, sau đó triển khai proxy API không thành công.
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 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, xem phần Bạn cần biết về các 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 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 do người dùng chỉ định của chính sách gây ra lỗi. extractvariables.EV-ParseJsonResponse.failed = true

Ví dụ về phản hồi khi gặp 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 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ư được 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 có lỗi. jws.JWS-Policy.failed = true

Ví dụ về phản hồi khi gặp lỗi

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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ư được 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 không thành công. JWT.failed = true

Ví dụ về phản hồi khi gặp lỗi

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

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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 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 chính sách này thực thi.

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 gửi ra một ngoại lệ hoặc trả về giá trị rỗng trong quá trình thực thi chính sách JavaAnnotation.

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.

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 jar.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] Không áp dụng Xem chuỗi lỗi. Xem thêm mục Được hỗ trợ và các phiên bản phần mềm đượ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 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. javacallout.JC-GetUserData.failed = true

Ví dụ về phản hồi khi gặp 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. Đây là thông tin quan trọng bạn cần biết 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 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 chính sách này thực thi.

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. Thường gặp các loại lỗi mà bạn gặp phải 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. Xem chuỗi lỗi cho 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 có 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 là không hợp lệ, thì bạn sẽ không triển khai proxy API được.
InvalidResourceUrlReference Nếu phần tử <ResourceURL> hoặc <IncludeURL> tham chiếu đến tệp JavaScript không tồn tại thì việc triển khai proxy API không thành công. Tệp nguồn được tham chiếu phải tồn tại proxy API, môi trường hoặc cấp tổ chức.
WrongResourceType Lỗi này xảy ra trong quá trình triển khai nếu <ResourceURL> hoặc <IncludeURL> các phần tử 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 Bạn có thể không triển khai được chính sách JavaScript kèm theo lỗi này nếu <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à một phần tử bắt buộc. Hoặc khai báo Phần tử <IncludeURL> 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ì bạn 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, xem phần Bạn cần biết về các 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 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 do người dùng chỉ định của chính sách gây ra lỗi. javascript.JavaScript-1.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân Khắc phục
steps.jsonthreatprotection.ExecutionFailed 500 Chính sách JSONThreatProtection có thể gửi nhiều loại lỗi ExecutionFailed. Hầu hết các lỗi này đều xảy ra khi vượt quá một ngưỡng cụ thể đã đặt trong chính sách. Các bao gồm các loại lỗi sau: độ dài tên mục nhập đối tượng, số lượng mục nhập đối tượng, số lượng phần tử mảng, chiều sâu vùng chứa, độ dài giá trị chuỗi 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 thông báo biến được chỉ định trong phần tử <Source> là:
  • Ngoài phạm vi (không áp dụng trong quy trình cụ thể mà chính sách đang được thực thi)
  • 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 tin nhắn.

Lỗi triển khai

Không 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. Để 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. jsonattack.JTP-SecureRequest.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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 vào chính sách JSON sang XML là không hợp lệ hoặc sai đị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. Bắt buộc là loại biến có trong phần tử <Source> và phần tử <OutputVariable> kết quả phù hợp. Có các 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 JSON thành Chính sách 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 <Source> thuộc loại chuỗi.
steps.jsontoxml.SourceUnavailable 500 Lỗi này xảy ra nếu thông báo biến được chỉ định trong phần tử <Source> của chính sách JSON sang XML là:
  • ngoài phạm vi (không áp dụng trong quy trình cụ thể nơi chính sách đang được thực thi) hoặc
  • không thể giải quyết (không xác định)

Lỗi triển khai

Không có.

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 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 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 do người dùng chỉ định của chính sách gây ra lỗi. jsontoxml.JSON-to-XML-1.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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 có chứa chính sách này.

Tên lỗi Nguyên nhân Khắc phục
InvalidProtocol Có thể không triển khai được chính sách MessageLogging với lỗi này 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ỉ có TCP được hỗ trợ.
InvalidPort Có thể không triển khai được chính sách MessageLogging 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 phần tử này không hợp lệ. Số cổng phải là 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 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. messagelogging.ML-LogMessages.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

Mã lỗi Trạng thái HTTP Xảy ra khi
policies.populatecache.EntryCannotBeCached 500 Không thể lưu mục nhập 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 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 có 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 bạn đặt phần tử <CacheResource> trong chính sách FillCache 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 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 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. populatecache.POP-CACHE-1.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân Được đưa ra 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 Đã thu hồi mã truy cập. 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 sẽ tìm thấy mã truy cập trong một biến được chỉ định trong <AccessToken>, nhưng không phân giải được biến. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 Chính sách này dự kiến sẽ tìm thấy mã uỷ quyền trong một biến được chỉ định trong <Code>, nhưng không phân giải được biến. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 Chính sách dự kiến sẽ tìm thấy Mã ứng dụng khách trong một biến được chỉ định trong <ClientId>, nhưng không phân giải được biến. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 Chính sách này dự kiến sẽ tìm thấy mã làm mới trong một biến được chỉ định trong <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 sẽ tìm thấy mã thông báo trong một biến được chỉ định trong <Tokens>, nhưng không phân giải được biến.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 Mã truy cập được trình bày trong yêu cầu có phạm vi không khớp với phạm vi được chỉ định trong chính sách xác minh mã truy cập. Để tìm hiểu về phạm vi, hãy xem bài viết Làm việc với các 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 này được đặt thành true và mã ứng dụng khách được gửi trong yêu cầu là không hợp lệ. 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 của 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 quy tắc lỗi hiện có để nắm bắt cả invalid_client và Tên InvalidClientIdentifier. Xem Bản phát hành 16.09.21 Ghi chú để biết thêm thông tin và ví dụ.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.invalid_request 400 Tên lỗi này được dùng cho nhiều loại lỗi, thường là lỗi thiếu hoặc thông số không chính xác được gửi trong yêu cầu. Nếu <GenerateResponse> là đặt thành false, sử dụng các biến lỗi (được 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. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 Tiêu đề uỷ quyền không có từ "Bearer" bắt buộc. Cho ví dụ: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNo\
steps.oauth.v2.ApiProductMatchFound
401

Proxy API không có trong Sản phẩm được liên kết với mã truy cập.

Mẹo: Đảm bảo rằng sản phẩm liên kết với mã truy cập đáp ứng các yêu cầu được định cấu hình chính xác. 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 ký tự đại diện đang được sử dụng đúng cách. Xem bài viết Tạo sản phẩm API để biết chi tiết.

Xem thêm bài viết này Bài đăng trên thẻ Cộng đồng Apigee để được hướng dẫn thêm 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 này được đặt thành false và mã ứng dụng khách được gửi trong yêu cầu là không hợp lệ. 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 của nhà phát triển 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 Base64 tiêu đề Uỷ quyền cơ bản được mã hoá.

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

GenerateAccessToken
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 cả hai. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 Phần tử <Tokens>/<Token> yêu cầu bạn phải chỉ định mã thông báo (ví dụ: refreshtoken). Nếu ứng dụng chuyển sai loại, thì lỗi được gửi. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 Loại phản hồi là token, nhưng không loại nào được chỉ định. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

Khách hàng đã chỉ định một loại quyền mà chính sách không hỗ trợ (không được liệt kê trong &lt;SupportedGrantTypes&gt; phần tử).

Lưu ý: Hiện có lỗi liên quan đến lỗi loại cấp quyền không được hỗ trợ không được gửi đúng cách. Nếu xảy ra lỗi loại cấp quyền không được hỗ trợ, proxy sẽ không hãy nhập Luồng lỗi, như mong đợi.

GenerateAccessToken
GenerateAuthorizationCode
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 có 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ệ đều là số dương số nguyên và -1.
InvalidGrantType Bạn đã chỉ định loại cấp quyền không hợp lệ trong <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 Đảm bảo rằng các thao tác được quy định trong <Hoạt động> hỗ trợ phần tử hết hạn. Ví dụ: hoạt động VerifyToken không.
RefreshTokenExpiresInNotApplicableForOperation Đảm bảo rằng các thao tác được quy định trong <Hoạt động> làm mới chế độ hỗ trợ phần tử mã thông báo hết hạn. Ví dụ: hoạt động VerifyToken không.
GrantTypesNotApplicableForOperation Đảm bảo rằng các loại cấp quyền được chỉ định trong <supportedSTARTTypes> được hỗ trợ cho thao tác được chỉ định.
OperationRequired

Bạn phải chỉ định một thao tác trong chính sách này bằng <Operation> .

Lưu ý: Nếu thiếu phần tử <Operation> thì phần tử Giao diện người dùng 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 cách sử dụ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 gửi lỗi xác thực giản đồ.

TokenValueRequired Bạn phải chỉ định một giá trị <Token> của mã thông báo 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GenerateAccesstoken.fault.name = invalid_request

Lưu ý: Đối với hoạt động VerifyAccessToken, tên lỗi sẽ bao gồm hậu tố sau: keymanagement.service
Ví dụ: keymanagement.service.invalid_access_token

oauthV2.policy_name.fault.cause policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Ví dụ về phản hồi khi gặp lỗi

Những phản hồi này sẽ được gửi lại ứng dụng khách nếu <GenerateResponse> là phần tử true.

Nếu giá trị <GenerateResponse>true (đúng) thì chính sách sẽ trả về lỗi ở định dạng này cho các thao tác tạo mã thông báo và mã. Để xem danh sách đầy đủ, hãy xem Lỗi HTTP của OAuth tham chiếu phản hồi.

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

Nếu giá trị <GenerateResponse>true (đúng) thì chính sách sẽ trả về lỗi ở định dạng này để xác minh và xác thực thao tác. Để xem danh sách đầy đủ, hãy xem bài viết Lỗi HTTP OAuth tham chiếu phản hồi.

{  
   {  
      "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 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 bài viết Những điều bạn cần biết về lỗi chính sáchCách xử lý lỗi.

Lỗi thời gian chạy

Những lỗi này có thể xảy ra khi chính sách này thực thi. Tên lỗi được 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. Xem lỗi về biến bên dưới để biết thêm thông tin chi tiết.

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 được gửi đến chính sách đã hết hạn.
steps.oauth.v2.invalid_access_token 500 Mã truy cập được gửi đến chính sách 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 đến chính sách không hợp lệ.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 Mã uỷ quyền được gửi đến chính sách này không hợp lệ.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Vui lòng xem bài đăng này trên thẻ 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ề các 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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 được gửi đến chính sách là không hợp lệ.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Vui lòng xem bài đăng này trên thẻ 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ề các 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.SetTokenInfo.cause = Invalid Access Token

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân
steps.oauth.v2.invalid_access_token 401 Mã truy cập được gửi đến chính sách là không hợp lệ.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Mã uỷ quyền được gửi đến chính sách này không hợp lệ.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Vui lòng xem bài đăng này trên thẻ 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ề các 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Ví dụ về phản hồi khi gặp 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

Nếu thành công, chính sách sẽ trả về trạng thái 200.

Khi không thành công, chính sách sẽ trả về lỗi 404 và cho kết quả tương tự như sau (tuỳ thuộc vào việc bạn sẽ xoá mã truy cập, mã thông báo yêu cầu hoặc 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. Đây là thông tin quan trọng bạn cần biết 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 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 chính sách này thực thi.

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 nhiều loại lỗi ScriptExecutionFailed. Thường gặp các loại lỗi đã thấy 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 có 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 <ResourceURL> hoặc phần tử <IncludeURL> của chính sách PythonScript không hợp lệ, thì việc triển khai proxy API sẽ không thành công.
InvalidResourceUrlReference Nếu phần tử <ResourceURL> hoặc <IncludeURL> tham chiếu đến một tệp PythonScript không tồn tại thì việc triển khai proxy API không thành công. Tệp nguồn được tham chiếu phải tồn tại proxy API, môi trường hoặc cấp 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, xem phần Bạn cần biết về các 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 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 do người dùng chỉ định của chính sách gây ra lỗi. pythonscript.PythonScript-1.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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à 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à dùng để xác định đơn vị thời gian áp dụng cho hạn mức. Khoảng thời gian có thể theo 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 một biến luồng không hợp lệ (giá trị không phải là 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 hạn mức được chỉ định trong phần tử <Interval> không phải một số nguyên thì việc triển khai proxy API sẽ không thành công. Ví dụ: nếu khoảng thời gian hạn mức được chỉ định là 0,1 trong phần tử <Interval>, thì việc triển khai phần tử Proxy API không thành công.
InvalidQuotaTimeUnit Nếu đơn vị thời gian đã chỉ định trong phần tử <TimeUnit> không được hỗ trợ, thì việc triển khai proxy API không thành công. 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 trong <Quota> chỉ định không hợp lệ, thì việc triển khai proxy API không thành công. Chiến lược phát hành đĩa đơn 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> là không hợp lệ, thì việc triển khai proxy API không thành công. Định dạng hợp lệ là yyyy-MM-dd HH:mm:ss, đó là định dạng ngày và giờ ISO 8601. Cho Ví dụ: nếu thời gian được chỉ định trong phần tử <StartTime>7-16-2017 12:00:00 thì việc triển khai proxy API không thành công.
StartTimeNotSupported Nếu phần tử <StartTime> được chỉ định có loại hạn mức không phải là calendar, thì việc triển khai proxy API sẽ không thành công. Phần tử <StartTime> là chỉ được hỗ trợ cho loại hạn mức calendar. Ví dụ: nếu thuộc tính type được đặt vào flexi hoặc rolling window trong phần tử <Quota>, thì phương thức không triển khai được proxy API.
InvalidTimeUnitForDistributedQuota Nếu phần tử <Distributed> được đặt thành true và phần tử <TimeUnit> được đặt thành second thì không triển khai proxy API được. Đơn vị thời gian second không hợp lệ cho hạn mức được phân phối.
InvalidSynchronizeIntervalForAsyncConfiguration Nếu giá trị được chỉ định cho phần tử <SyncIntervalInSeconds> trong phần tử Phần tử <AsynchronousConfiguration> trong chính sách Hạn mức nhỏ hơn 0, thì không triển khai được proxy API.
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ì việc này cũng có cấu hình không đồng bộ được xác định bằng phần tử <AsynchronousConfiguration>, sau đó không triển khai proxy API đượ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. Để 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. ratelimit.QT-QuotaPolicy.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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

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 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 lỗi, như đã nêu trong Bảng Lỗi thời gian chạy ở trên. Tên lỗi là tên cuối cùng của mã lỗi. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name là tên do người dùng chỉ định của chính sách đã gây ra lỗi. raisefault.RF-ThrowError.failed = true

Ví dụ về phản hồi khi gặp 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ề và 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 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 triển khai

Những lỗi này có thể xảy ra khi bạn triển khai proxy có chứa chính sách này.

Tên lỗi Nguyên nhân Khắc phục
SourceNotConfigured Một hoặc nhiều thành phần sau đây trong quy trình Xác thực SAML chính sách không được xác định hoặc bị trống: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured Nếu phần tử <TrustStore> trống hoặc không được chỉ định trong Xác thực chính sách SAMLAssertion, thì việc triển khai proxy API sẽ không thành công. Bạn phải có một Cửa hàng tin cậy hợp lệ.
NullKeyStoreAlias Nếu phần tử con <Alias> bị trống hoặc không được chỉ định trong <Keystore> thành phần của Chính sách tạo xác nhận SAML, sau đó là việc triển khai API proxy. Bạn phải có email đại diện hợp lệ cho Kho khoá.
NullKeyStore Nếu phần tử con <Name> bị trống hoặc không được chỉ định trong <Keystore> phần tử của chính sách Tạo SAMLAssertion, sau đó là triển khai API proxy. 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 mục Tạo SAML Xác nhận chính sách, thì việc triển khai proxy API sẽ không thành công. Đáp bạn phải nhập 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 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. 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 nhằm xác thực, tiền tố lỗi là ValidateSAMLAssertion. GenerateSAMLAssertion.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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 được yêu cầu xử lý dữ liệu đầu vào 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 Tin nhắn. Ví dụ: nếu đó là một chuỗi hoặc loại khác không phải thông báo, 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. Cho 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 có 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ó <HTTPTargetConnection> hoặc <LocalTargetConnection> .
InvalidTimeoutValue Lỗi này xảy ra nếu 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 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. servicecallout.SC-GetUserData.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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 tham chiếu đến biến chứa chế độ cài đặt mức giá trong phần tử <Rate> không thể được giải quyết thành một giá trị trong Spike Arrest . Phần tử này là bắt buộc và dùng để chỉ định tỷ lệ ngăn chặn tăng đột biến ở dưới 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ệ (giá trị không phải là 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 có 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 báo cáo Mức độ bắt giữ tăng đột biến Chính sách không phải là số nguyên hoặc nếu giá phòng không có hậu tố ps hoặc pm, thì việc triển khai proxy API 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 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 lỗi, như đã nêu trong Bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng mã lỗi. fault.name Matches "SpikeArrestViolation"
ratelimit.policy_name.failed policy_name là tên do người dùng chỉ định của chính sách gây ra lỗi. ratelimit.SA-SpikeArrestPolicy.failed = true

Ví dụ về phản hồi khi gặp 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à 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 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 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 chính sách này thực thi.

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 phải trạng thái không hoạt động. Khi trạng thái của Công ty được đặt thành không hoạt động, bạn không thể truy cập vào 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 Công ty thông qua API Quản lý. Xem phần Đặt trạng thái của Công ty.
keymanagement.service.DeveloperStatusNotActive 401

Nhà phát triển tạo ra Ứng dụng dành cho 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 Nhà phát triển ứng dụng được đặt thành không hoạt động, mọi Ứng dụng của nhà phát triển do nhà phát triển đó tạo ra. 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 trong các bước sau cách:

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 sẽ bị thu hồi. Ứng dụng bị thu hồi không thể truy cập vào mọi sản phẩm API 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 dành cho nhà phát triển bằng API quản lý. Xem 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 muốn tìm khoá API trong một biến được chỉ định trong chính sách &lt;APIKey&gt; phần tử. Lỗi này phát sinh khi biế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á đó không hợp lệ. Khi Edge tìm kiếm khoá trong cơ sở dữ liệu này phải khớp chính xác với dữ liệu đã được gửi trong yêu cầu. Nếu API hoạt động hãy đảm bảo khoá không được tạo lại. Nếu khoá đã được tạo lại, bạn sẽ thấy lỗi này nếu bạn 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ý API khoá.
oauth.v2.InvalidApiKeyForGivenResource 401 Edge đã nhận được một khoá API và khoá này hợp lệ; Tuy nhiên, nó không phù hợp với khoá được phê duyệt trong Ứng dụng dành cho nhà phát triển được 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 có chứa chính sách này.

Tên lỗi Nguyên nhân
SpecifyValueOrRefApiKey Phần tử <APIKey> chưa chỉ định giá trị hoặc khoá.

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 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 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 do người dùng chỉ định của chính sách gây ra lỗi. 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 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ư được 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 có lỗi. jws.JWS-Policy.failed = true

Ví dụ về phản hồi khi gặp lỗi

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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ư được 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 không thành công. JWT.failed = true

Ví dụ về phản hồi khi gặp lỗi

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

Để xử lý lỗi, phương pháp hay nhất là bẫy phần errorcode của lỗi của bạn. Đừ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 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 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 chính sách này thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân Khắc phục
steps.xmlthreatprotection.ExecutionFailed 500 Chính sách XMLThreatProtection có thể gửi nhiều loại lỗi ExecutionFailed. Hầu hết các lỗi này đều xảy ra khi vượt quá một ngưỡng cụ thể đã đặt trong chính sách. Các bao gồm các loại lỗi sau: độ dài tên phần tử, số lượng con, độ sâu nút, số lượng thuộc tính, độ dài tên thuộc tính, và nhiều công cụ khác. Bạn có thể xem danh sách đầy đủ trong chủ đề Khắc phục lỗi khi bắt đầu chạy của chính sách XMLThreatProtection.
steps.xmlthreatprotection.InvalidXMLPayload 500 Lỗi này xảy ra nếu tải trọng thông báo đầu vào do phần tử <Source> của chính sách XMLThreatProtection chỉ định 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 thông báo biến được chỉ định trong phần tử <Source> là:
  • Ngoài phạm vi (không áp dụng trong quy trình cụ thể mà chính sách đang được thực thi)
  • 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 tin nhắn.

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 được phát hiện; Tuy nhiên, bạn có thể thay đổi chế độ mặc định này bằng cách đặ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 . Ví dụ: "TextĐã vượt quá" hoặc "AttrValueVượt quá". Hãy xem Ghi chú sử dụng để chi tiết.
  • Trạng thái HTTP 500 là trạng thái mặc định; tuy nhiên, Trạng thái HTTP có thể được thay đổi thành 400 đối với lỗi luồng yêu cầu bằng cách đặt thuộc tính cấp tổ chức. Hãy xem Ghi chú sử dụng để chi tiết.

Lỗi triển khai

Không có.

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 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 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 do người dùng chỉ định của chính sách gây ra lỗi. xmlattack.XPT-SecureRequest.failed = true

Ví dụ về phản hồi khi gặp 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 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 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 chính sách này thực thi.

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) bị trống hoặc XML đầu vào không hợp lệ hoặc không đúng đị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. Loại biến là bắt buộc có trong phần tử <Source> và phần tử <OutputVariable> phù hợp.
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> là không hợp lệ.Các loại biến hợp lệ là thông báo 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 XML để Chính sách JSON thuộc loại chuỗi và phần tử <OutputVariable> chưa được xác định. Phần tử <OutputVariable> là bắt buộc khi biến được xác định trong <Source> thuộc loại chuỗi.
steps.xmltojson.SourceUnavailable 500 Lỗi này xảy ra nếu thông báo biến đượ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 áp dụng trong quy trình cụ thể nơi chính sách đang được thực thi) hoặc
  • không thể giải quyết (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 có 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 đã khai báo trong Chính sách XML sang JSON thì không triển khai proxy API được.
UnknownFormat Nếu phần tử <Format> trong chính sách XML sang JSON có một giá trị không xác định xác định thì việc triển khai proxy API không thành công. 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 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ư được 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 do người dùng chỉ định của chính sách gây ra lỗi. xmltojson.XMLtoJSON-1.failed = true

Ví dụ về phản hồi khi gặp 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.