You're viewing Apigee and Apigee hybrid documentation.
    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 as- Decode, then that's the cause of the error. The- <Source>element is mandatory if the- <Operation>is specified as- Decodein 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>