Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
InvalidConnectorInstance
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện 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 ví dụ về lỗi

Nguyên nhân
Lỗi này xảy ra nếu phần tử <Connector> trong chính sách ExtensionCallout bị thiếu hoặc được đặt thành một giá trị trống.
Chẩn đoán
Xác định tên chính sách ExtensionCallout trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách ExtensionCallout là
Extension Callout-1:Error Saving Revision 1 In Extension Callout-1: Connector must not be empty
Kiểm tra tệp XML chính sách ExtensionCallout không thành công và xác minh xem phần tử
<Connector>có xuất hiện và không trống hay không. Ví dụ: trong phần tử<Connector>bên dưới, chính sách này không có nội dung 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> trống, nên việc triển khai API Proxy sẽ không thành công.
Độ phân giải
Đảm bảo rằng bạn luôn chỉ định giá trị cho phần tử <Connector> của chính sách Chú thích của phần mở rộng và giá trị này 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 ExtensionCallout trong ví dụ nêu trên, bạn có thể đặt phần tử <Connector> thành tên của tiện ích có trong môi trường cụ thể nơi API Proxy đ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ẽ xuất hiện ở đó. Bạn nên đặt tên tiện ích trong phần tử <Connector>.

Dưới đây là ví dụ có 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
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện 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 ví dụ về lỗi

Nguyên nhân
Lỗi này xảy ra nếu phần tử <Connector> trong chính sách ExtensionCallout đượ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.
Chẩn đoán
Xác định tên chính sách ExtensionCallout, tên Extension không hợp lệ được dùng trong phần tử
<Connector>của chính sách ExtensionCallout và môi trường xảy ra lỗi. Bạn có thể tìm thấy tất cả các mục này trong thông báo lỗi.Ví dụ: trong lỗi sau, tên chính sách ExtensionCallout là
Extension Callout-1,invalid, tên của Extension làcloud_storagevà 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.Kiểm tra XML chính sách ExtensionCallout 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>là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>
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 Admin > Extensions (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 ExtensionCallout hay không.Lưu ý trong ảnh chụp màn hình bên dưới rằng tiện ích
cloud_storage_exttồn tại, nhưng không khớp với phần tử<Connector>được chỉ định trong chính sách ExtensionCallout mẫu nêu trên:
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 rằng tiện ích được chỉ định trong phần tử <Connector> của chính sách ExtensionCallout đã được tạo và tên được chỉ định chính xác.
Hãy tham khảo Hướng dẫn: Sử dụng các tiện ích để biết thông tin về cách tạo tiện ích.
Để khắc phục ví dụ trên, hãy sửa tên sao cho khớp với tiện ích 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
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện 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 ví dụ về lỗi

Nguyên nhân
Lỗi này xảy ra nếu phần tử <Action> trong chính sách ExtensionCallout bị thiếu hoặc được đặt thành một giá trị trống.
Chẩn đoán
Xác định tên chính sách ExtensionCallout. 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 ExtensionCallout là
Extension Callout-1:Error Saving Revision 1 In Extension Callout-1: Action must not be empty.Kiểm tra tệp XML chính sách ExtensionCallout không thành công và xác minh xem thao tác có được chỉ định trong phần tử
<Action>hay không. Nếu thiếu phần tử<Action>hoặc nếu phần tử này trống thì đó là nguyên nhân gây ra lỗi.Trong ví dụ này, phần tử
<Action>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
Đảm bảo rằng phần tử <Action> luôn được chỉ định và không được để trống trong chính sách ExtensionCallout.
Hãy tham khảo Hướng dẫn: Sử dụng các 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 bằng 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
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và xuất hiện 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 ví dụ về lỗi

Nguyên nhân
Bạn không được phép có chính sách ExtensionCallout trong PostClient Flow. Nếu bạn đặt chính sách ExtensionCallout trong PostClient Flow, thì việc triển khai proxy API sẽ không thành công kèm theo lỗi này.
Chẩn đoán
Xác định tên chính sách ExtensionCallout. 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 ExtensionCallout là
Extension Callout-1:In Extension Callout-1: Policy is not allowed in PostClientFlow.
Kiểm tra tất cả PostClient Flow trong mọi điểm cuối của API Proxy 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 ExtensionCallout (được xác định ở bước 1) được đặt trong PostClient Flow, thì đó là nguyên nhân gây ra lỗi.
Ví dụ: PostClient Flow sau đây có ExtensionCallout Policy:
... <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 ExtensionCallout không được đặt trong PostClient Flow.
Để khắc phục vấn đề nêu trên, bạn nên di chuyển chính sách ExtensionCallout sang một Flow bất kỳ khác.
...
<PreFlow name="PreFlow">
<Request/>
<Response>
<Step>
<Name>Extension-Callout-1</Name>
</Step>
</Response>
</PreFlow>
...