This page applies to Apigee and Apigee hybrid.
View Apigee Edge documentation.
UserNameRequired
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Username element must be present for operation operation.
Example error message
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Username element must be present for Encode operation.
Example screenshot

Cause
The deployment of the API Proxy fails if the <User> element is not defined in the BasicAuthentication policy. The <User> element is mandatory for both Encode and Decode operations.
Diagnosis
Examine all the BasicAuthentication policies used in the API proxy. If there is any policy where the
<User>element is not specified, then that's the cause of the error. The<User>element is mandatory in BasicAuthentication policy for Encode or Decode operations.The sample BasicAuthentication policy shown below is used for Encode operation, but doesn't have the
<User>element defined:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BasicAuthentication name="ApplyBasicAuthHeader"> <DisplayName>ApplyBasicAuthHeader</DisplayName> <Operation>Encode</Operation> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Password ref="BasicAuth.credentials.password"/> <AssignTo createNew="false">request.header.Authorization</AssignTo> </BasicAuthentication>The deployment fails with the below error:
BasicAuthenticationPolicy: Username element must be present for Encode operation.
Resolution
Ensure that the <User> element is defined within the BasicAuthentication policy for Encode or Decode operation.
To correct the example shown above, include the <User> element within the policy as shown below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
<DisplayName>ApplyBasicAuthHeader</DisplayName>
<Operation>Encode</Operation>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<User ref="BasicAuth.credentials.username"/>
<Password ref="BasicAuth.credentials.password"/>
<AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>
PasswordRequired
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Password element must be present for operation operation.
Example error message
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Password element must be present for Encode operation.
Example screenshot

Cause
The deployment of the API Proxy fails if the <Password> element is not defined in the BasicAuthentication policy. The <Password> element is mandatory for both Encode and Decode operations.
Diagnosis
Examine all the BasicAuthentication policies used in the API proxy. If there is any policy where the
<Password>element is not defined, then that's the cause of the error. The<Password>element is mandatory in the BasicAuthentication policy for Encode or Decode operation.The sample BasicAuthentication policy shown below is used for Encode operation, but doesn't have the
<Password>element defined:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BasicAuthentication name="ApplyBasicAuthHeader"> <DisplayName>ApplyBasicAuthHeader</DisplayName> <Operation>Encode</Operation> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <User ref="BasicAuth.credentials.username"/> <AssignTo createNew="false">request.header.Authorization</AssignTo> </BasicAuthentication>The deployment fails with the below error:
BasicAuthenticationPolicy: Password element must be present for Encode operation.
Resolution
Ensure that the <Password> element is defined within the BasicAuthentication policy for Encode or Decode operation.
To correct the example shown above, include the <Password> element within the policy as shown below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
<DisplayName>ApplyBasicAuthHeader</DisplayName>
<Operation>Encode</Operation>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<User ref="BasicAuth.credentials.username"/>
<Password ref="BasicAuth.credentials.password"/>
<AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>
AssignToRequired
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: AssignTo element must be present for operation operation.
Example error message
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
Example screenshot

Cause
The deployment of the API Proxy fails if the <AssignTo> element is not defined in the BasicAuthentication policy. The <AssignTo> element is mandatory for both Encode and Decode operations.
Diagnosis
Examine all the BasicAuthentication policies used in the API proxy. If there is any policy where the element
<AssignTo>is not defined, then that's the cause of the error. The<AssignTo>element is mandatory to be defined in BasicAuthentication policy for both Encode and Decode operations.The sample BasicAuthentication policy shown below is used for Encode operation, but doesn't have the
<AssignTo>element defined:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BasicAuthentication name="ApplyBasicAuthHeader"> <DisplayName>ApplyBasicAuthHeader</DisplayName> <Operation>Encode</Operation> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <User ref="BasicAuth.credentials.username"/> <Password ref="BasicAuth.credentials.password"/> </BasicAuthentication>The deployment fails with the below error:
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
Resolution
Ensure that the <AssignTo> element is defined within the BasicAuthentication policy for Encode or Decode operation.
To correct the example shown above, include the <AssignTo> element within the policy as shown below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
<DisplayName>ApplyBasicAuthHeader</DisplayName>
<Operation>Encode</Operation>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<User ref="BasicAuth.credentials.username"/>
<Password ref="BasicAuth.credentials.password"/>
<AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>
SourceRequired
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Source element must be present for Decode operation.
Example error message
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Source element must be present for Decode operation.
Example screenshot

Cause
The deployment of the API Proxy fails if the <Source> element is not defined in the BasicAuthentication policy that is used for decoding operation. The <Source> element is mandatory if the <Operation> is specified as Decode in the BasicAuthentication policy.
Diagnosis
Examine all the BasicAuthentication policies used in the API proxy. If there is any policy where the element
<Source>is not defined and the<Operation>element is defined asDecode, then that's the cause of the error. The<Source>element is mandatory if the<Operation>is specified asDecodein the BasicAuthentication policy.The sample BasicAuthentication policy shown below is used for
Decodeoperation, but doesn't have the<Source>element defined:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <BasicAuthentication name="ApplyBasicAuthHeader"> <DisplayName>ApplyBasicAuthHeader</DisplayName> <Operation>Decode</Operation> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <User ref="BasicAuth.credentials.username"/> <Password ref="BasicAuth.credentials.password"/> <AssignTo createNew="false">request.header.Authorization</AssignTo> </BasicAuthentication>The deployment fails with the below error:
BasicAuthenticationPolicy: Source element must be present for Decode operation.
Resolution
Ensure that the <Source> element is defined in BasicAuthentication policy when it is used for Decode operation.
To correct the example shown above, include the <Source>element within the policy as shown below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
<DisplayName>ApplyBasicAuthHeader</DisplayName>
<Operation>Decode</Operation>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<User ref="BasicAuth.credentials.username"/>
<Password ref="BasicAuth.credentials.password"/>
<AssignTo createNew="false">request.header.Authorization</AssignTo>
<Source>request.header.Authorization</Source>
</BasicAuthentication>