You're viewing Apigee Edge documentation.
Go to the
Apigee X documentation. info
InvalidConnectorInstance
Error Message
Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:
Error Saving Revision revision_number In policy_name: Connector must not be empty.
Example Error Message
Error Saving Revision 1 In Extension Callout-1: Connector must not be empty.
Example Error Screenshot
Cause
This error occurs if the <Connector>
element in the ExtensionCallout policy is missing or set to an empty value.
Diagnosis
Identify the ExtensionCallout policy name in the error message. For example, in the following error, the ExtensionCallout policy name is
Extension Callout-1
:Error Saving Revision 1 In Extension Callout-1: Connector must not be empty
Examine the failed ExtensionCallout policy XML and verify if
<Connector>
element is present and non empty. For example, in the policy below<Connector>
element is empty and doesn’t contain the name of the extension:<?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>
Since the <Connector>
element is empty, the deployment of the API Proxy fails.
Resolution
Ensure that the value for the <Connector>
element of the Extension Callout policy is always specified and matches the name of the actual extension created in the organization.
To correct the example ExtensionCallout policy shown above, you could set the <Connector>
element to the name of the extension that exists in the specific environment where the API Proxy is being deployed.
To determine the name of the extension, in the Edge UI you can navigate to Admin > Extensions. The names of all extensions in your organization will be shown there. The extension name should be set in the <Connector>
element.
Below is the example with the Extension Name set properly in the <Connector>
element:
<?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
Error Message
Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:
Error Deploying Revision revision_number to environment In policy_name: Connector <extension_name> does not exist in environment environment.
Example Error Message
Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.
Example Error Screenshot
Cause
This error occurs if the <Connector>
element in the ExtensionCallout policy is set to a name which does not exist in environment where the API proxy is being deployed.
Diagnosis
Identify the ExtensionCallout policy name, the invalid Extension name used in the
<Connector>
element of the ExtensionCallout policy, and the environment where the error occurred. You can find all these items in the error message.For example, in the following error, the ExtensionCallout policy name is
Extension Callout-1,
invalid
name of the Extension iscloud_storage
and the environment name istest
:Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.
Examine the failed ExtensionCallout policy XML and verify if the extension name specified for the
<Connector>
element matches with what’s in the error message.In this example, the extension name specified in the
<Connector>
element iscloud_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>
Verify if the extension name has been created in the environment (determined in step #1).
In the Edge UI, navigate to Admin > Extensions and check if the extension exists and the name matches with the one specified in
<Connector>
element in the ExtensionCallout policy.Notice in the screenshot below that the extension
cloud_storage_ext
exists, but it doesn’t match the<Connector>
element specified in the example ExtensionCallout policy shown above:Since in extension name specified in the
<Connector>
element doesn’t exist, you get the deployment error:In Extension Callout-1: Connector cloud_storage does not exist in environment test.
Resolution
Ensure that the extension specified in the <Connector>
element of ExtensionCallout policy has been created and name is specified correctly.
Refer to Tutorial: Using extensions for information on how to create the extension.
To fix example above, fix the name so it matches the actual extension:
<?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
Error Message
Deployment of the API proxy through either the Edge UI or Edge management API fails with this error message:
Error Saving Revision revision_number In policy_name: Action must not be empty.
Example Error Message
Error Saving Revision 1 In Extension Callout-1: Action must not be empty.
Example Error Screenshot
Cause
This error occurs if the <Action>
element in the ExtensionCallout policy is missing or set to an empty value.
Diagnosis
Identify the ExtensionCallout policy name. You can find this information in the error message. For example, in the following error, the ExtensionCallout policy name is
Extension Callout-1:
Error Saving Revision 1 In Extension Callout-1: Action must not be empty.
Examine the failed ExtensionCallout policy XML and verify if action is specified in the
<Action>
element. If the<Action>
element is missing or if it’s empty then that’s the cause of the error.In this example, the
<Action>
element is empty:<?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>
Resolution
Ensure that the <Action>
element is always specified and non-empty in ExtensionCallout policy.
Refer to Tutorial: Using extensions for information on how to create an extension and how to use it in the policy with correct <Action>
element.
To fix the issue above, specify the correct action for the extension:
<?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
Error Message
Deployment of the API proxy through either the Edge UI or the Edge management API fails with this error message:
Error Deploying Revision revision_number to environment In policy_name: Policy is not allowed in PostClientFlow.
Example Error Message
Error Deploying Revision 1 to test In Extension Callout-1: Policy is not allowed in PostClientFlow.
Example Error Screenshot
Cause
It is prohibited to have an ExtensionCallout policy in a PostClient Flow. If an ExtensionCallout policy is placed in a PostClient Flow, then the deployment of the API proxy fails with this error.
Diagnosis
Identify the ExtensionCallout policy name. You can find this information in the error message. For example, in the following error, the ExtensionCallout policy name is
Extension Callout-1:
In Extension Callout-1: Policy is not allowed in PostClientFlow.
Examine all the PostClient Flows in all the endpoints of the specific API Proxy where the failure has occurred. Please refer to Controlling how a proxy executes with flows article.
If you notice that the ExtensionCallout policy (determined in step #1) is placed in the PostClient Flow, then that’s the cause of the error.
For example, the following PostClient Flow has ExtensionCallout Policy in it:
... <PostClientFlow> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PostClientFlow> ...
Resolution
Ensure that the ExtensionCallout policy is not placed in the PostClient Flow.
To fix the issue mentioned above, you should move ExtensionCallout policy to any other Flow.
... <PreFlow name="PreFlow"> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PreFlow> ...