Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
SourceNotConfigured
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API de Apigee falla, se mostrará este mensaje de error:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Captura de pantalla de error de ejemplo
Causa
La implementación del proxy de API falla con este error si uno o más de los siguientes elementos de la política ValidateSAMLAssertion
no están definidos: <Source>
, <XPath>
, <Namespaces>
o <Namespace>
.
Por ejemplo, la implementación del proxy de API fallará si pierdes el elemento <XPath>
o dejas el elemento <Source>
o sus entidades vacías.
Diagnóstico
Identifica el nombre de la política
ValidateSAMLAssertion
con errores en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la políticaValidateSAMLAssertion
esValidate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Examina el archivo XML de la política
ValidateSAMLAssertion
con errores. Verifica si falta uno o más de los siguientes elementos de la política:<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. De ser así, esa podría ser la causa del error.Por ejemplo, la siguiente política tiene un elemento
<Namespaces>
vacío en el elemento<Source>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ValidateSAMLAssertion name="SAML" ignoreContentType="false"> <Source name="request"> <Namespaces></Namespaces> </Source> <Description/> <TrustStore>ref://TrustStoreName</Truststore> <RemoveAssertion>false</RemoveAssertion> </ValidateSAMLAssertion>
En el ejemplo anterior, el elemento
<Namespaces>
está vacío, por lo que recibes el siguiente error:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Solución
Asegúrate de que los valores del elemento <Source>
estén configurados de forma correcta con el elemento <Namespaces>
y su elemento secundario <Namespace>
.
También debes asegurarte de que el elemento <XPath>
esté definido y no esté vacío.
Para corregir la política de ejemplo ValidateSAMLAssertion
que se muestra antes, puedes agregar los elementos <Namespace>
y <XPath>
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ValidateSAMLAssertion name="SAML" ignoreContentType="false">
<Source name="request">
<Namespaces>
<Namespace prefix='soap'>http://schemas.xmlsoap.org/soap/envelope/</Namespace>
<Namespace prefix='wsse'>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</Namespace>
<Namespace prefix='saml'>urn:oasis:names:tc:SAML:2.0:assertion</Namespace>
</Namespaces>
<XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath>
</Source>
<Description/>
<TrustStore>ref://TrustStoreName</Truststore>
<RemoveAssertion>false</RemoveAssertion>
</ValidateSAMLAssertion>
TrustStoreNotConfigured
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API de Apigee falla, se mostrará este mensaje de error:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Captura de pantalla de error de ejemplo
Causa
Si el elemento <TrustStore>
está vacío o no se especifica en la política ValidateSAMLAssertion, falla la implementación del proxy de API. Se requiere un almacenamiento de confianza válido.
Diagnóstico
Examina todas las políticas de confirmación de SAML en el proxy de API específico en el que se produjo el error. Si hay una política de confirmación de SAML en la que el elemento
<TrustStore>
está vacío o no se especifica, esa es la causa del error.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ValidateSAMLAssertion name="SAML" ignoreContentType="false"> <Source name="request"> <Namespaces> <Namespace prefix='soap'>http://schemas.xmlsoap.org/soap/envelope/</Namespace> <Namespace prefix='wsse'>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</Namespace> <Namespace prefix='saml'>urn:oasis:names:tc:SAML:2.0:assertion</Namespace> </Namespaces> <XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath> </Source> <Description/> <TrustStore/> <RemoveAssertion>false</RemoveAssertion> </ValidateSAMLAssertion>
Solución
Asegúrate de que el elemento <TrustStore>
siempre se especifique y que no esté vacío en la política SAMLAssertion. El nombre <TrustStore>
debe coincidir con el nombre de un almacén de confianza válido que exista en todos los entornos en los que intentas implementar un proxy.
Para corregir el ejemplo anterior, puedes especificar el elemento <TrustStore>
con un valor válido.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ValidateSAMLAssertion name="SAML" ignoreContentType="false">
<Source name="request">
<Namespaces>
<Namespace prefix='soap'>http://schemas.xmlsoap.org/soap/envelope/</Namespace>
<Namespace prefix='wsse'>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</Namespace>
<Namespace prefix='saml'>urn:oasis:names:tc:SAML:2.0:assertion</Namespace>
</Namespaces>
<XPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</XPath>
</Source>
<TrustStore>TrustStoreName</TrustStore>
<RemoveAssertion>false</RemoveAssertion>
</ValidateSAMLAssertion>
NullKeyStore
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, se mostrará este mensaje de error:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Ejemplo de mensaje de error
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Captura de pantalla de error de ejemplo
Causa
La implementación del proxy de API fallará si el elemento secundario <Name>
está vacío o no se especifica en el elemento <Keystore>
de la política GenerateSAMLAssertion
. Se requiere el nombre de almacén de claves válido.
Diagnóstico
Examina todas las políticas de
GenerateSAMLAssertion
en el proxy de API específico en el que se produjo el error. Si hay una políticaGenerateSAMLAssertion
en la que el elemento secundario<Name>
está vacío o no se especificó en el elemento<Keystore>
, esa es la causa del error.La siguiente política
GenerateSAMLAssertion
tiene un elemento secundario<Name>
vacío en el elemento<Keystore>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <GenerateSAMLAssertion name="SAML" ignoreContentType="false">` <CanonicalizationAlgorithm /> <Issuer ref="reference">Issuer name</Issuer> <KeyStore> <Name></Name> <Alias ref="reference">alias</Alias> </KeyStore> <OutputVariable> <FlowVariable>assertion.content</FlowVariable> <Message name="request"> <Namespaces> <Namespace prefix="test">http://www.example.com/test</Namespace> </Namespaces> <XPath>/envelope/header</XPath> </Message> </OutputVariable> <SignatureAlgorithm /> <Subject ref="reference">Subject name</Subject> <Template ignoreUnresolvedVariables="false"> <!-- A lot of XML goes here, in CDATA, with {} around each variable --> </Template> </GenerateSAMLAssertion>
Solución
Asegúrate de que el elemento secundario <Name>
siempre esté especificado y no esté vacío dentro del elemento <Keystore>
de la política GenerateSAMLAssertion
.
A fin de corregir el ejemplo anterior, puedes especificar el elemento <Name>
de forma correcta y asegurarte de que se especifique un valor válido para el elemento <Alias>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GenerateSAMLAssertion name="SAML" ignoreContentType="false">
<CanonicalizationAlgorithm />
<Issuer ref="reference">Issuer name</Issuer>
<KeyStore>
<Name ref="reference">keystorename</Name>
<Alias ref="reference">alias</Alias>
</KeyStore>
<OutputVariable>
<FlowVariable>assertion.content</FlowVariable>
<Message name="request">
<Namespaces>
<Namespace prefix="test">http://www.example.com/test</Namespace>
</Namespaces>
<XPath>/envelope/header</XPath>
</Message>
</OutputVariable>
<SignatureAlgorithm />
<Subject ref="reference">Subject name</Subject>
<Template ignoreUnresolvedVariables="false">
<!-- A lot of XML goes here, in CDATA, with {} around
each variable -->
</Template>
</GenerateSAMLAssertion>
Consulta los ejemplos de la política de SAMLAssertion.
NullKeyStoreAlias
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API de Apigee falla, se mostrará este mensaje de error:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Ejemplo de mensaje de error
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Captura de pantalla de error de ejemplo
Causa
La implementación del proxy de API fallará si el elemento secundario <Alias>
está vacío o no se especifica en el elemento <Keystore>
de la política GenerateSAMLAssertion
. Se requiere un alias del almacén de claves válido.
Diagnóstico
Examina todas las políticas de
GenerateSAMLAssertion
en el proxy de API específico en el que se produjo el error. Si hay una políticaGenerateSAMLAssertion
en la que el elemento secundario<Alias>
está vacío o no se especificó en el elemento<Keystore>
, esa es la causa del error.La siguiente política
GenerateSAMLAssertion
tiene un elemento secundario<Alias>
vacío en el elemento<Keystore>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <GenerateSAMLAssertion name="SAML" ignoreContentType="false">` <CanonicalizationAlgorithm /> <Issuer ref="reference">Issuer name</Issuer> <KeyStore> <Name ref="reference">keystorename</Name> <Alias></Alias> </KeyStore> <OutputVariable> <FlowVariable>assertion.content</FlowVariable> <Message name="request"> <Namespaces> <Namespace prefix="test">http://www.example.com/test</Namespace> </Namespaces> <XPath>/envelope/header</XPath> </Message> </OutputVariable> <SignatureAlgorithm /> <Subject ref="reference">Subject name</Subject> <Template ignoreUnresolvedVariables="false"> <!-- A lot of XML goes here, in CDATA, with {} around each variable --> </Template> </GenerateSAMLAssertion>
Solución
Asegúrate de que el elemento secundario <Name>
siempre esté especificado y no esté vacío dentro del elemento <Keystore>
de la política GenerateSAMLAssertion
.
A fin de corregir el ejemplo anterior, puedes especificar el elemento <Alias>
de forma correcta y asegurarte de que se especifique un valor válido para el elemento <Name>
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GenerateSAMLAssertion name="SAML" ignoreContentType="false">
<CanonicalizationAlgorithm />
<Issuer ref="reference">Issuer name</Issuer>
<KeyStore>
<Name ref="reference">keystorename</Name>
<Alias ref="reference">alias</Alias>
</KeyStore>
<OutputVariable>
<FlowVariable>assertion.content</FlowVariable>
<Message name="request">
<Namespaces>
<Namespace prefix="test">http://www.example.com/test</Namespace>
</Namespaces>
<XPath>/envelope/header</XPath>
</Message>
</OutputVariable>
<SignatureAlgorithm />
<Subject ref="reference">Subject name</Subject>
<Template ignoreUnresolvedVariables="false">
<!-- A lot of XML goes here, in CDATA, with {} around
each variable -->
</Template>
</GenerateSAMLAssertion>
Consulta los ejemplos de la política de SAMLAssertion.
NullIssuer
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API de Apigee falla, se mostrará este mensaje de error:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Ejemplo de mensaje de error
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Captura de pantalla de error de ejemplo
Causa
Si el elemento <Issuer>
está vacío o no se especifica en la política GenerateSAMLAssertion
, falla la implementación del proxy de API. Se requiere un valor válido de <Issuer>
.
Diagnóstico
Examina todas las políticas de
GenerateSAMLAssertion
en el proxy de API específico en el que se produjo el error. Si hay una políticaGenerateSAMLAssertion
en la que el elemento<Issuer>
está vacío o no se especifica, esa es la causa del error.La siguiente política de
GenerateSAMLAssertion
tiene un elemento<Issuer>
vacío:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <GenerateSAMLAssertion name="SAML" ignoreContentType="false">` <CanonicalizationAlgorithm /> <Issuer></Issuer> <KeyStore> <Name ref="reference">keystorename</Name> <Alias ref="reference">alias</Alias> </KeyStore> <OutputVariable> <FlowVariable>assertion.content</FlowVariable> <Message name="request"> <Namespaces> <Namespace prefix="test">http://www.example.com/test</Namespace> </Namespaces> <XPath>/envelope/header</XPath> </Message> </OutputVariable> <SignatureAlgorithm /> <Subject ref="reference">Subject name</Subject> <Template ignoreUnresolvedVariables="false"> <!-- A lot of XML goes here, in CDATA, with {} around each variable --> </Template> </GenerateSAMLAssertion>
Solución
Asegúrate de que el elemento <Issuer>
siempre esté especificado y no esté vacío en la política de GenerateSAMLAssertion
.
Para corregir el ejemplo anterior, especifica el elemento <Issuer>
de forma correcta:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GenerateSAMLAssertion name="SAML" ignoreContentType="false">
<CanonicalizationAlgorithm />
<Issuer ref="reference">Issuer name</Issuer>
<KeyStore>
<Name ref="reference">keystorename</Name>
<Alias ref="reference">alias</Alias>
</KeyStore>
<OutputVariable>
<FlowVariable>assertion.content</FlowVariable>
<Message name="request">
<Namespaces>
<Namespace prefix="test">http://www.example.com/test</Namespace>
</Namespaces>
<XPath>/envelope/header</XPath>
</Message>
</OutputVariable>
<SignatureAlgorithm />
<Subject ref="reference">Subject name</Subject>
<Template ignoreUnresolvedVariables="false">
<!-- A lot of XML goes here, in CDATA, with {} around
each variable -->
</Template>
</GenerateSAMLAssertion>
Consulta los ejemplos de la política de SAMLAssertion.