Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
UserNameRequired
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Username element must be present for operation operation.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Username element must be present for Encode operation.
Captura de pantalla del ejemplo.
Causa
La implementación del proxy de API falla si el elemento <User>
no está definido en la política de BasicAuthentication. El elemento <User>
es obligatorio para las operaciones de codificación y decodificación.
Diagnóstico
Examina todas las políticas de BasicAuthentication que se usan en el proxy de API. Si hay una política en la que no se especifica el elemento
<User>
, esa es la causa del error. El elemento<User>
es obligatorio en la política de BasicAuthentication para las operaciones de codificación o decodificación.La política de ejemplo BasicAuthentication que se muestra a continuación se usa para la operación de codificación, pero no tiene definido el elemento
<User>
:<?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>
La implementación falla con el siguiente error:
BasicAuthenticationPolicy: Username element must be present for Encode operation.
Solución
Asegúrate de que el elemento <User>
esté definido dentro de la política BasicAuthentication para la operación de decodificación.
Para corregir el ejemplo anterior, incluye el elemento <User>
dentro de la política como se muestra a continuación:
<?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
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Password element must be present for operation operation.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Password element must be present for Encode operation.
Captura de pantalla del ejemplo.
Causa
La implementación del proxy de API falla si el elemento <Password>
no está definido en la política de BasicAuthentication. El elemento <Password>
es obligatorio para las operaciones de codificación y decodificación.
Diagnóstico
Examina todas las políticas de BasicAuthentication que se usan en el proxy de API. Si hay una política en la que el elemento
<Password>
no está definido, esa es la causa del error. El elemento<Password>
es obligatorio en la política de BasicAuthentication para la operación de codificación o decodificación.La política de ejemplo BasicAuthentication que se muestra a continuación se usa para la operación de codificación, pero no tiene definido el elemento
<Password>
:<?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>
La implementación falla con el siguiente error:
BasicAuthenticationPolicy: Password element must be present for Encode operation.
Solución
Asegúrate de que el elemento <Password>
esté definido dentro de la política BasicAuthentication para la operación de decodificación.
Para corregir el ejemplo anterior, incluye el elemento <Password>
dentro de la política como se muestra a continuación:
<?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
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: AssignTo element must be present for operation operation.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
Captura de pantalla del ejemplo.
Causa
La implementación del proxy de API falla si el elemento <AssignTo>
no está definido en la política de BasicAuthentication. El elemento <AssignTo>
es obligatorio para las operaciones de codificación y decodificación.
Diagnóstico
Examina todas las políticas de BasicAuthentication que se usan en el proxy de API. Si hay una política en la que el elemento
<AssignTo>
no está definido, esa es la causa del error. El elemento<AssignTo>
es obligatorio para definirse en la política de BasicAuthentication en las operaciones de codificación y decodificación.La política de ejemplo BasicAuthentication que se muestra a continuación se usa para la operación de codificación, pero no tiene definido el elemento
<AssignTo>
:<?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>
La implementación falla con el siguiente error:
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
Solución
Asegúrate de que el elemento <AssignTo>
esté definido dentro de la política BasicAuthentication para la operación de decodificación.
Para corregir el ejemplo anterior, incluye el elemento <AssignTo>
dentro de la política como se muestra a continuación:
<?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
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to env_name BasicAuthenticationPolicy: Source element must be present for Decode operation.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Source element must be present for Decode operation.
Captura de pantalla del ejemplo.
Causa
La implementación del proxy de API falla si el elemento <Source>
no está definido en la política BasicAuthentication que se usa para la operación de decodificación. El elemento <Source>
es obligatorio si <Operation>
se especifica como Decode
en la política BasicAuthentication.
Diagnóstico
Examina todas las políticas de BasicAuthentication que se usan en el proxy de API. Si hay alguna política en la que el elemento
<Source>
no está definido y el elemento<Operation>
se define comoDecode
, entonces esa es la causa del error. El elemento<Source>
es obligatorio si<Operation>
se especifica comoDecode
en la política BasicAuthentication.La política de ejemplo de BasicAuthentication que se muestra a continuación se usa para la operación
Decode
, pero no tiene el elemento<Source>
definido:<?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>
La implementación falla con el siguiente error:
BasicAuthenticationPolicy: Source element must be present for Decode operation.
Solución
Asegúrate de que se defina el elemento <Source>
en la política de BasicAuthentication cuando se use para la operación Decode
.
Para corregir el ejemplo anterior, incluye el elemento <Source>
dentro de la política como se muestra a continuación:
<?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>