Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
SourceNotConfigured
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu użytkownika lub zarządzania Edge kończy się niepowodzeniem z powodu tego komunikatu o błędzie:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Przykładowy zrzut ekranu z błędem
Przyczyna
Wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem z tego powodu, jeśli co najmniej 1 z tych elementów zasad weryfikacji oświadczenia SAML jest nie zdefiniowany lub pusty: <Source>
, <XPath>
, <Namespaces>
, <Namespace>
.
Jeśli na przykład pominiesz element <XPath>
lub pozostawisz puste elementy <Source>
lub ich elementy, wdrożenie serwera proxy interfejsu API się nie powiedzie.
Diagnostyka
Zidentyfikować nieprawidłową nazwę zasady weryfikacji SAML w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady Sprawdzanie potwierdzenia SAML to
Validate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Sprawdź kod XML zasady Sprawdzanie oświadczenia SAML, która nie przeszła weryfikacji. Sprawdź, czy brakuje któregoś z tych elementów zasad lub czy któryś z nich jest pusty:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. Jeśli tak, to może to być przyczyną błędu.Na przykład w tych zasadach element
<Namespaces>
jest pusty w elemencie<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>
W przykładzie powyżej element
<Namespaces>
jest pusty, więc pojawia się błąd:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Rozdzielczość
Upewnij się, że wartości elementu <Source>
są prawidłowo skonfigurowane w odniesieniu do elementu <Namespaces>
i jego elementu podrzędnego <Namespace>
.
Musisz też upewnić się, że element <XPath>
jest zdefiniowany i nie jest pusty.
Aby poprawić przykład zasad weryfikacji oświadczenia SAML pokazanych powyżej, możesz dodać elementy <Namespace>
oraz <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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu użytkownika lub zarządzania Edge kończy się niepowodzeniem z powodu tego komunikatu o błędzie:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Przykładowy zrzut ekranu z błędem
Przyczyna
Jeśli element <TrustStore>
jest pusty lub nie jest określony w zasadzie ValidateSAMLAssertion, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem. Wymagane jest prawidłowe zaufane repozytorium.
Diagnostyka
Sprawdź wszystkie zasady weryfikacji SAML na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada Validate SAML Assertion, w której element
<TrustStore>
jest pusty lub nie został określony, to właśnie on jest przyczyną błędu.<?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>
Rozdzielczość
Upewnij się, że element <TrustStore>
jest zawsze określony i niepusty w zasadach Weryfikuj potwierdzenie SAML. Nazwa <TrustStore>
powinna być zgodna z nazwą prawidłowej puli zaufania, która istnieje we wszystkich środowiskach, w których próbujesz wdrożyć serwer proxy.
Aby poprawić ten przykład, możesz dodać element <TrustStore>
z prawidłową wartością.
<?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>
Więcej informacji o korzystaniu z treści pliku Truststore znajdziesz w artykule Treści pliku Truststore i pliku Keystore.
NullKeyStore
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Przykładowy komunikat o błędzie
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Przykładowy zrzut ekranu z błędem
Przyczyna
Jeśli element podrzędny <Name>
jest pusty lub nie jest określony w elemencie <Keystore>
zasady GenerateSAMLAssertion, wdrożenie interfejsu API proxy kończy się niepowodzeniem. Wymagane jest prawidłowe nazwy Keystore.
Diagnostyka
Sprawdź wszystkie zasady generowania oświadczenia SAML w przypadku konkretnego serwera proxy API, w którym wystąpił błąd. Jeśli w zasadach generowania oświadczenia SAML występuje element podrzędny
<Name>
, który jest pusty lub nie jest określony w elemencie<Keystore>
, jest to przyczyna błędu.W zasadzie generowania oświadczenia SAML element
<Name>
w elemencie<Keystore>
jest pusty:<?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>
Rozdzielczość
Sprawdź, czy element podrzędny <Name>
jest zawsze określony i nie może być pusty w elemencie <Keystore>
zasady Generate SAML Assertion.
Aby poprawić powyższy przykład, możesz prawidłowo określić element <Name>
oraz upewnić się, że element <Alias>
ma prawidłową wartość.
<?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>
Zapoznaj się z przykładami z przykładowego kodu w artykule referencyjnym zasad SAMLAssertion.
NullKeyStoreAlias
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu użytkownika lub zarządzania Edge kończy się niepowodzeniem z powodu tego komunikatu o błędzie:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Przykładowy komunikat o błędzie
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Przykładowy zrzut ekranu z błędem
Przyczyna
Jeśli element podrzędny <Alias>
jest pusty lub nie jest określony w elemencie <Keystore>
zasady Generuj oświadczenie SAML, wdrożenie serwera proxy interfejsu API się nie powiedzie. Wymagany jest prawidłowy alias magazynu kluczy.
Diagnostyka
Sprawdź wszystkie zasady generowania oświadczenia SAML w przypadku konkretnego serwera proxy API, w którym wystąpił błąd. Jeśli istnieje zasada Generate SAML Assertion, w której element podrzędny
<Alias>
jest pusty lub nie został określony w elemencie<Keystore>
, to właśnie jest przyczyną błędu.W zasadzie „Generowanie oświadczenia SAML” element
<Alias>
w elemencie<Keystore>
zawiera pusty element podrzędny<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>
Rozdzielczość
Sprawdź, czy element podrzędny <Name>
jest zawsze określony i nie może być pusty w elemencie <Keystore>
zasady Generate SAML Assertion (Generowanie asercji SAML).
Aby poprawić powyższy przykład, możesz poprawnie określić element <Alias>
oraz upewnić się, że element <Name>
ma prawidłową wartość.
<?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>
Zapoznaj się z przykładami z przykładowego kodu w artykule referencyjnym zasad SAMLAssertion.
NullIssuer
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu użytkownika lub zarządzania Edge kończy się niepowodzeniem z powodu tego komunikatu o błędzie:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Przykładowy komunikat o błędzie
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Przykładowy zrzut ekranu z błędem
Przyczyna
Jeśli element <Issuer>
jest pusty lub nie jest określony w zasadach generowania oświadczenia SAML, wdrożenie serwera proxy interfejsu API zakończy się niepowodzeniem. Wymagane jest prawidłowe ustawienie parametru <Issuer>
.
Diagnostyka
Sprawdź wszystkie zasady Generate SAML Assertion (Generowanie asercji SAML) na konkretnym serwerze API interfejsu API, na którym wystąpił błąd. Jeśli w zasadach generowania oświadczenia SAML element
<Issuer>
jest pusty lub nie jest określony, jest to przyczyna błędu.Zasada Generowanie oświadczenia SAML zawiera pusty element
<Issuer>
:<?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>
Rozdzielczość
Upewnij się, że element <Issuer>
jest zawsze określony i niepusty w zasadach generowania oświadczenia SAML.
Aby poprawić powyższy przykład, poprawnie określ element <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>
Zapoznaj się z przykładami z przykładowego kodu w artykule referencyjnym zasad SAMLAssertion.