Khắc phục sự cố khi triển khai chính sách Chú thích tiện í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

InvalidConnectorInstance

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Saving Revision revision_number
In policy_name: Connector must not be empty.

Thông báo lỗi mẫu

Error Saving Revision 1
In Extension Callout-1: Connector must not be empty.

Ảnh chụp màn hình lỗi ví dụ

Thông báo lỗi Bản sao trình kết nối không hợp lệ

Nguyên nhân

Lỗi này xảy ra nếu phần tử <Connector> trong Chính sách chú thích phần mở rộng bị thiếu hoặc được đặt thành một giá trị trống.

Chẩn đoán

  1. Xác định tên Chính sách chú thích tiện ích trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách Chú thích mở rộng là Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. Kiểm tra XML của Chính sách chú thích tiện ích không thành công và xác minh xem phần tử <Connector> có hiển thị hay không. Ví dụ: trong chính sách bên dưới, phần tử <Connector> bị trống và không chứa tên của tiện ích:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
        <DisplayName>Extension Callout-1</DisplayName>
        <Connector></Connector>
        <Action>downloadFile</Action>
        <Input><![CDATA[
             {}
         ]]></Input>
        <Output>context-variable-name</Output>
    </ConnectorCallout>

Vì phần tử <Connector> bị trống nên không thể triển khai Proxy API.

Độ phân giải

Đảm bảo rằng giá trị cho phần tử <Connector> của Chính sách chú thích mở rộng luôn được chỉ định và khớp với tên của phần mở rộng thực tế được tạo trong tổ chức.

Để sửa chính sách Chú thích mở rộng mẫu nêu trên, bạn có thể đặt phần tử <Connector> thành tên của tiện ích hiện có trong môi trường cụ thể nơi Proxy API đang được triển khai.

Để xác định tên của tiện ích, trong giao diện người dùng Edge, bạn có thể chuyển đến mục Quản trị > Tiện ích. Tên của tất cả các tiện ích trong tổ chức của bạn sẽ hiển thị ở đây. Tên tiện ích phải được đặt trong phần tử <Connector>.

Xem tên của tất cả tiện ích trong giao diện người dùng Edge.

Dưới đây là ví dụ với Tên tiện ích được đặt đúng cách trong phần tử <Connector>:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

ConnectorInstanceDoesNotExists

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Deploying Revision revision_number to environment
In policy_name: Connector <extension_name> does not exist in environment environment.

Thông báo lỗi mẫu

Error Deploying Revision 1 to test
In Extension Callout-1: Connector cloud_storage does not exist in environment test.

Ảnh chụp màn hình lỗi ví dụ

Thông báo lỗi Bản sao trình kết nối không tồn tại

Nguyên nhân

Lỗi này xảy ra nếu phần tử <Connector> trong Chính sách chú thích tiện ích được đặt thành tên không tồn tại trong môi trường proxy API đang được triển khai.

Chẩn đoán

  1. Xác định tên chính sách Chú thích mở rộng, tên Phần mở rộng không hợp lệ được dùng trong phần tử <Connector> của chính sách Chú thích mở rộng và môi trường xảy ra lỗi. Bạn có thể tìm thấy tất cả những mục này trong thông báo lỗi.

    Ví dụ: trong lỗi sau, tên chính sách Chú thích mở rộng là Extension Callout-1,invalid của Tiện ích là cloud_storage và tên môi trường là test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
    
  2. Kiểm tra XML của Chính sách chú thích tiện ích không thành công và xác minh xem tên tiện ích được chỉ định cho phần tử <Connector> có khớp với tên trong thông báo lỗi hay không.

    Trong ví dụ này, tên tiện ích được chỉ định trong phần tử <Connector>cloud_storage:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage</Connector>
            <Action>downloadFile</Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
    
  3. Xác minh xem tên tiện ích đã được tạo trong môi trường hay chưa (xác định ở bước #1).

    Trong giao diện người dùng Edge, hãy chuyển đến mục Quản trị > Tiện ích , rồi kiểm tra xem tiện ích đó có tồn tại hay không và tên có khớp với tên được chỉ định trong phần tử <Connector> trong chính sách Chú thích mở rộng hay không.

    Lưu ý trong ảnh chụp màn hình bên dưới, tiện ích cloud_storage_ext tồn tại nhưng không khớp với phần tử <Connector> được chỉ định trong ví dụ về Chính sách chú thích mở rộng ở trên:

    Xem tên của tất cả tiện ích trong giao diện người dùng Edge.

    Vì tên tiện ích được chỉ định trong phần tử <Connector> không tồn tại, nên bạn sẽ gặp lỗi triển khai:

    In Extension Callout-1: Connector cloud_storage does not exist in environment test.

Độ phân giải

Đảm bảo bạn đã tạo phần mở rộng được chỉ định trong phần tử <Connector> của Chính sách chú thích mở rộng và chỉ định tên chính xác.

Tham khảo Hướng dẫn: Sử dụng phần mở rộng để biết thông tin về cách tạo phần mở rộng.

Để sửa ví dụ ở trên, hãy sửa tên cho khớp với đuôi thực tế:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

InvalidAction

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Saving Revision revision_number
In policy_name: Action must not be empty.

Thông báo lỗi mẫu

Error Saving Revision 1
In Extension Callout-1: Action must not be empty.

Ảnh chụp màn hình lỗi ví dụ

Thông báo lỗi Hành động không hợp lệ

Nguyên nhân

Lỗi này xảy ra nếu phần tử <Action> trong Chính sách chú thích phần mở rộng bị thiếu hoặc được đặt thành một giá trị trống.

Chẩn đoán

  1. Xác định tên chính sách Chú thích mở rộng. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách Chú thích phần mở rộng là Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
    
  2. Kiểm tra XML của Chính sách chú thích tiện ích không thành công và xác minh xem hành động có được chỉ định trong phần tử <Action> hay không. Nếu phần tử <Action> bị thiếu hoặc nếu phần tử trống thì đó là nguyên nhân gây ra lỗi.

    Trong ví dụ này, phần tử <Action> bị trống:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage_ext</Connector>
            <Action></Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
    

Độ phân giải

Hãy đảm bảo phần tử <Action> luôn được chỉ định và không để trống trong chính sách Chú thích mở rộng.

Tham khảo Hướng dẫn: Sử dụng tiện ích để biết thông tin về cách tạo tiện ích và cách sử dụng tiện ích đó trong chính sách với phần tử <Action> chính xác.

Để khắc phục vấn đề nêu trên, hãy chỉ định thao tác chính xác cho tiện ích:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

AllowExtensionsInPostClientFlow

Thông báo lỗi

Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:

Error Deploying Revision revision_number to environment
In policy_name: Policy is not allowed in PostClientFlow.

Thông báo lỗi mẫu

Error Deploying Revision 1 to test
In Extension Callout-1: Policy is not allowed in PostClientFlow.

Ảnh chụp màn hình lỗi ví dụ

Thông báo lỗi cho phép tiện ích trong luồng ứng dụng bài đăng

Nguyên nhân

Không được phép sử dụng Chính sách chú thích tiện ích trong Luồng PostClient. Nếu bạn đặt Chính sách chú thích tiện ích trong Luồng PostClient, thì lỗi này sẽ không triển khai được proxy API.

Chẩn đoán

  1. Xác định tên chính sách Chú thích mở rộng. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách Chú thích phần mở rộng là Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. Kiểm tra tất cả Luồng PostClient trong tất cả các điểm cuối của Proxy API cụ thể nơi xảy ra lỗi. Vui lòng tham khảo bài viết Kiểm soát cách một proxy thực thi bằng các luồng.

    Nếu bạn nhận thấy chính sách ExtensionChú thích mở rộng (xác định ở bước #1) được đặt trong Luồng PostClient, thì đó là nguyên nhân gây ra lỗi.

    Ví dụ: Luồng PostClient sau đây có Chính sách chú thích tiện ích:

        ...
        <PostClientFlow>
                <Request/>
                <Response>
                    <Step>
                        <Name>Extension-Callout-1</Name>
                    </Step>
                </Response>
            </PostClientFlow>
        ...
    

Độ phân giải

Đảm bảo rằng chính sách ExtensionChú thích mở rộng không được đặt trong Luồng PostClient.

Để khắc phục vấn đề nêu trên, bạn nên di chuyển Chính sách Chú thích tiện ích sang bất kỳ Quy trình nào khác.

...
<PreFlow name="PreFlow">
    <Request/>
    <Response>
        <Step>
            <Name>Extension-Callout-1</Name>
        </Step>
    </Response>
</PreFlow>
...