Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
SourceNotConfigured
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Beispiel für Fehlermeldung
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Beispiel für einen Fehler-Screenshot
Ursache
Die Bereitstellung des API-Proxys schlägt mit diesem Fehler fehl, wenn mindestens eines der folgenden Elemente der ValidateSAMLAssertion-Richtlinie nicht definiert oder leer ist: <Source>
, <XPath>
, <Namespaces>
, <Namespace>
.
Beispiel: Wenn Sie das Element <XPath>
nicht angeben oder das Element <Source>
bzw. seine Entitäten leer lassen, schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Ermitteln Sie die fehlgeschlagene ValidateSAMLAssertion-Richtlinie anhand der Fehlermeldung. Beispielsweise lautet im folgenden Fehler der Name für die ValidateSAMLAssertion-Richtlinie
Validate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Prüfen Sie die XML-Datei der fehlgeschlagenen ValidateSAMLAssertion-Richtlinie. Prüfen Sie, ob eines oder mehrere der folgenden Elemente der Richtlinie fehlen oder leer sind:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. Wenn ja, könnte dies die Ursache des Fehlers sein.Die folgende Richtlinie enthält beispielsweise ein leeres Element
<Namespaces>
unter dem Element<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>
Da im Beispiel oben das Element
<Namespaces>
leer ist, wird dieser Fehler zurückgegeben:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Lösung
Achten Sie darauf, dass die Werte des <Source>
-Elements mit dem <Namespaces>
-Element und dem untergeordneten Element <Namespace>
richtig konfiguriert sind.
Achten Sie außerdem darauf, dass das Element <XPath>
definiert und nicht leer ist.
Um die oben gezeigte ValidateSAMLAssertion-Beispielrichtlinie zu korrigieren, können Sie die Elemente <Namespace>
und <XPath>
hinzufügen:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Beispiel für Fehlermeldung
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Beispiel für einen Fehler-Screenshot
Ursache
Wenn das Element <TrustStore>
leer oder nicht in der ValidateSAMLAssertion-Richtlinie angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Ein gültiger Trust Store ist erforderlich.
Diagnose
Prüfen Sie alle ValidateSAMLAssertion-Richtlinien im spezifischen API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine ValidateSAMLAssertion-Richtlinie gibt, in der das Element
<TrustStore>
leer oder nicht angegeben ist, ist dies die Ursache des Fehlers.<?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>
Lösung
Achten Sie darauf, dass das Element <TrustStore>
immer in der ValidateSAMLAssertion-Richtlinie angegeben ist. Der <TrustStore>
-Name sollte dem Namen eines gültigen TrustStore entsprechen, der in allen Umgebungen vorhanden ist, in denen Sie einen Proxy bereitstellen möchten.
Zur Behebung des obigen Beispiels geben Sie das Element <TrustStore>
mit einem gültigen Wert an.
<?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>
Weitere Informationen zur Verwendung von Truststore finden Sie unter Truststores und Schlüsselspeicher.
NullKeyStore
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Beispiel für Fehlermeldung
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Beispiel für einen Fehler-Screenshot
Ursache
Wenn das untergeordnete Element <Name>
leer oder im Element <Keystore>
der GenerateSAMLAssertion-Richtlinie nicht angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Ein gültiger Keystore-Name ist erforderlich.
Diagnose
Prüfen Sie alle GenerateSAMLAssertion-Richtlinien im spezifischen API-Proxy, in dem der Fehler aufgetreten ist. Wenn eine GenerateSAML-Richtlinie vorhanden ist, in der das untergeordnete Element
<Name>
leer oder im Element<Keystore>
nicht angegeben ist, ist dies die Fehlerursache.Die folgende GenerateSAMLAssertion-Richtlinie im Element
<Keystore>
enthält ein leeres untergeordnetes Element<Name>
:<?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>
Lösung
Achten Sie darauf, dass das untergeordnete Element <Name>
immer im Element <Keystore>
der GenerateSAMLAssertion-Richtlinie angegeben und nicht leer ist.
Zur Behebung des obigen Beispiels können Sie das Element <Name>
korrekt angeben und dafür sorgen, dass ein gültiger Wert für das Element <Alias>
angegeben ist.
<?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>
Weitere Informationen finden Sie unter Codebeispiele im Referenzartikel zur SAMLAssertion-Richtlinie
NullKeyStoreAlias
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Beispiel für Fehlermeldung
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Beispiel für einen Fehler-Screenshot
Ursache
Wenn das untergeordnete Element <Alias>
leer oder im Element <Keystore>
der GenerateSAMLAssertion-Richtlinie nicht angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Ein gültiger Keystore-Alias ist erforderlich.
Diagnose
Prüfen Sie alle GenerateSAMLAssertion-Richtlinien im spezifischen API-Proxy, in dem der Fehler aufgetreten ist. Wenn eine GenerateSAML-Richtlinie vorhanden ist, in der das untergeordnete Element
<Alias>
leer oder im Element<Keystore>
nicht angegeben ist, ist dies die Fehlerursache.Die folgende GenerateSAMLAssertion-Richtlinie im Element
<Keystore>
enthält ein leeres untergeordnetes Element<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></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>
Lösung
Achten Sie darauf, dass das untergeordnete Element <Name>
im Element <Keystore>
der Richtlinie „SAML-Assertion generieren“ immer angegeben und nicht leer ist.
Zur Behebung des obigen Beispiels können Sie das Element <Alias>
korrekt angeben und dafür sorgen, dass ein gültiger Wert für das Element <Name>
angegeben ist.
<?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>
Weitere Informationen finden Sie unter Codebeispiele im Referenzartikel zur SAMLAssertion-Richtlinie
NullIssuer
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Beispiel für Fehlermeldung
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Beispiel für einen Fehler-Screenshot
Ursache
Wenn das Element <Issuer>
leer oder nicht in der GenerateSAMLAssertion-Richtlinie angegeben ist, schlägt die Bereitstellung des API-Proxys fehl. Geben Sie einen gültigen <Issuer>
-Wert ein.
Diagnose
Prüfen Sie alle GenerateSAMLAssertion-Richtlinien im spezifischen API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine GenerateSAMLAssertion-Richtlinie gibt, in der das Element
<Issuer>
leer oder nicht angegeben ist, ist dies die Ursache des Fehlers.Die folgende GenerateSAMLAssertion-Richtlinie enthält ein leeres
<Issuer>
-Element:<?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>
Lösung
Achten Sie darauf, dass das Element <Issuer>
in der GenerateSAMLAssertion-Richtlinie immer angegeben und nicht leer ist.
Geben Sie das Element <Issuer>
korrekt an, um das obige Beispiel zu korrigieren:
<?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>
Weitere Informationen finden Sie unter Codebeispiele im Referenzartikel zur SAMLAssertion-Richtlinie