Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Consultez la documentation d'Apigee Edge.
SourceNotConfigured
Message d'erreur
Le déploiement du proxy d'API par le biais de l'UI Apigee ou de l'API Apigee échoue avec le message d'erreur suivant :
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Exemple de message d'erreur
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Capture d'écran du message d'erreur
Cause
Le déploiement du proxy d'API échoue avec cette erreur si un ou plusieurs des éléments suivants de la règle ValidateSAMLAssertion
sont vides ou non définis : <Source>
, <XPath>
, <Namespaces>
et <Namespace>
.
Par exemple, si vous oubliez l'élément <XPath>
, ou laissez l'élément <Source>
ou ses entités vides, le déploiement du proxy d'API échoue.
Diagnostic
Identifiez le nom de la règle
ValidateSAMLAssertion
ayant échoué dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règleValidateSAMLAssertion
estValidate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Examinez le fichier XML de la règle
ValidateSAMLAssertion
ayant échoué. Vérifiez si un ou plusieurs des éléments suivants de la règle sont manquants ou vides :<Source>
,<XPath>
,<Namespaces>
et<Namespace>
. Si tel est le cas, il peut s'agir de la cause de l'erreur.Par exemple, la règle suivante comporte un élément
<Namespaces>
vide sous l'élément<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>
Dans l'exemple ci-dessus, l'élément
<Namespaces>
est vide. Par conséquent, vous obtenez l'erreur suivante :ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Solution
Assurez-vous que les valeurs de l'élément <Source>
sont correctement configurées avec l'élément <Namespaces>
et l'élément enfant <Namespace>
.
Vous devez également vous assurer que l'élément <XPath>
est défini et qu'il n'est pas vide.
Pour corriger l'exemple de règle ValidateSAMLAssertion
ci-dessus, vous pouvez ajouter les éléments <Namespace>
et <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
Message d'erreur
Le déploiement du proxy d'API par le biais de l'UI Apigee ou de l'API Apigee échoue avec le message d'erreur suivant :
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Exemple de message d'erreur
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Capture d'écran du message d'erreur
Cause
Si l'élément <TrustStore>
est vide ou non spécifié dans la règle ValidateSAMLAssertion, le déploiement du proxy d'API échoue. Vous devez indiquer un fichier Trust Store valide.
Diagnostic
Examinez toutes les règles ValidateSAMLAssertion dans le proxy d'API spécifique où l'échec a eu lieu. S'il existe une règle ValidateSAMLAssertion dans laquelle l'élément
<TrustStore>
est vide ou non spécifié, il s'agit de la cause de l'erreur.<?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>
Solution
Assurez-vous que l'élément <TrustStore>
est toujours spécifié et non vide dans la règle SAMLAssertion. Le nom <TrustStore>
doit correspondre au nom d'un truststore valide qui existe dans tous les environnements dans lesquels vous essayez de déployer un proxy.
Pour corriger l'exemple ci-dessus, vous pouvez spécifier l'élément <TrustStore>
avec une valeur valide.
<?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
Message d'erreur
Le déploiement du proxy d'API par le biais de l'UI ou de l'API Apigee échoue avec le message d'erreur suivant :
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Exemple de message d'erreur
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Capture d'écran du message d'erreur
Cause
Si l'élément enfant <Name>
est vide ou non spécifié dans l'élément <Keystore>
de la règle GenerateSAMLAssertion
, le déploiement du proxy d'API échoue. Veuillez indiquer un nom de keystore valide.
Diagnostic
Examinez toutes les règles
GenerateSAMLAssertion
dans le proxy d'API spécifique où l'erreur s'est produite. S'il existe une règleGenerateSAMLAssertion
dans laquelle l'élément enfant<Name>
est vide ou n'est pas spécifié dans l'élément<Keystore>
, il s'agit de la cause de l'erreur.La règle
GenerateSAMLAssertion
suivante contient un élément enfant<Name>
vide dans l'élément<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>
Solution
Assurez-vous que l'élément enfant <Name>
est toujours spécifié et non vide dans l'élément <Keystore>
de la règle GenerateSAMLAssertion
.
Pour corriger l'exemple ci-dessus, vous pouvez spécifier correctement l'élément <Name>
et vous assurer qu'une valeur valide est spécifiée pour l'élément <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>
Reportez-vous aux exemples de code de la page Règles SAMLAssertion.
NullKeyStoreAlias
Message d'erreur
Le déploiement du proxy d'API par le biais de l'UI Apigee ou de l'API Apigee échoue avec le message d'erreur suivant :
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Exemple de message d'erreur
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Capture d'écran du message d'erreur
Cause
Si l'élément enfant <Alias>
est vide ou non spécifié dans l'élément <Keystore>
de la règle GenerateSAMLAssertion
, le déploiement du proxy d'API échoue. Vous devez saisir un alias de keystore valide.
Diagnostic
Examinez toutes les règles
GenerateSAMLAssertion
dans le proxy d'API spécifique où l'erreur s'est produite. S'il existe une règleGenerateSAMLAssertion
dans laquelle l'élément enfant<Alias>
est vide ou n'est pas spécifié dans l'élément<Keystore>
, il s'agit de la cause de l'erreur.La règle
GenerateSAMLAssertion
suivante contient un élément enfant<Alias>
vide dans l'élément<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>
Solution
Assurez-vous que l'élément enfant <Name>
est toujours spécifié et non vide dans l'élément <Keystore>
de la règle GenerateSAMLAssertion
.
Pour corriger l'exemple ci-dessus, vous pouvez spécifier correctement l'élément <Alias>
et vous assurer qu'une valeur valide est spécifiée pour l'élément <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>
Reportez-vous aux exemples de code de la page Règles SAMLAssertion.
NullIssuer
Message d'erreur
Le déploiement du proxy d'API par le biais de l'UI Apigee ou de l'API Apigee échoue avec le message d'erreur suivant :
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Exemple de message d'erreur
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Capture d'écran du message d'erreur
Cause
Si l'élément <Issuer>
est vide ou non spécifié dans la règle GenerateSAMLAssertion
, le déploiement du proxy d'API échoue. Vous devez saisir une valeur <Issuer>
valide.
Diagnostic
Examinez toutes les règles
GenerateSAMLAssertion
dans le proxy d'API spécifique où l'erreur s'est produite. S'il existe une règleGenerateSAMLAssertion
dans laquelle l'élément<Issuer>
est vide ou non spécifié, il s'agit de la cause de l'erreur.La règle
GenerateSAMLAssertion
suivante contient un élément<Issuer>
vide :<?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>
Solution
Assurez-vous que l'élément <Issuer>
est toujours spécifié et non vide dans la règle GenerateSAMLAssertion
.
Pour corriger l'exemple ci-dessus, spécifiez correctement l'élément <Issuer>
:
<?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>
Reportez-vous aux exemples de code de la page Règles SAMLAssertion.