Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
SourceNotConfigured
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat 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 nie powiedzie się z tym błędem, jeśli co najmniej jeden z tych elementów zasady Validate SAML Assertion nie jest zdefiniowany lub jest pusty: <Source>, <XPath>, <Namespaces>, <Namespace>.
Jeśli na przykład pominiesz element <XPath> lub pozostawisz element <Source> albo jego jednostki puste, wdrożenie serwera proxy interfejsu API się nie powiedzie.
Diagnostyka
Zidentyfikuj nazwę zasady Validate SAML Assertion (Weryfikuj asercję SAML) z komunikatu o błędzie. Na przykład w tym błędzie nazwa zasady Validate SAML Assertion to
Validate-SAML-Assertion-1.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.Sprawdź plik XML zasady Validate SAML Assertion, która nie została zastosowana. Sprawdź, czy brakuje co najmniej jednego z tych elementów zasad lub czy jest on pusty:
<Source>,<XPath>,<Namespaces>,<Namespace>. Jeśli tak, może to być przyczyną błędu.Na przykład te zasady mają pusty element
<Namespaces>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 powyższym przykładzie element
<Namespaces>jest pusty, dlatego występuje błąd:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Rozdzielczość
Sprawdź, czy wartości elementu <Source> są prawidłowo skonfigurowane za pomocą elementu <Namespaces> i jego elementu podrzędnego <Namespace>.
Musisz też zadbać o to, aby element <XPath> był zdefiniowany i nie był pusty.
Aby poprawić pokazane powyżej przykładowe zasady weryfikacji asercji SAML, 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
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat 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 został określony w zasadzie ValidateSAMLAssertion, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wymagany jest prawidłowy sklep z zaufanymi aplikacjami.
Diagnostyka
Sprawdź wszystkie zasady weryfikacji asercji SAML w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli w zasadach Validate SAML Assertion element
<TrustStore>jest pusty lub nie został określony, to jest to przyczyna 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ść
Sprawdź, czy element <TrustStore> jest zawsze określony i nie jest pusty w zasadzie Weryfikacja potwierdzenia SAML. Nazwa <TrustStore>
powinna być zgodna z nazwą prawidłowego magazynu TrustStore
istniejącego we wszystkich środowiskach, w których próbujesz wdrożyć
serwer proxy.
Aby poprawić powyższy przykład, możesz określić 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 magazynu zaufanych certyfikatów znajdziesz w sekcji Magazyny zaufanych certyfikatów i magazyny kluczy.
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świetla się ten komunikat 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 został określony w elemencie <Keystore> zasad GenerateSAMLAssertion, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wymagana jest prawidłowa nazwa magazynu kluczy.
Diagnostyka
Sprawdź wszystkie zasady generowania asercji SAML w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje zasada Generate SAML Assertion, w której element podrzędny
<Name>jest pusty lub nie jest określony w elemencie<Keystore>, to jest to przyczyna błędu.Poniższa zasada Generate SAML Assertion (Generowanie asercji SAML) ma pusty element podrzędny
<Name>w elemencie<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>
Rozdzielczość
Upewnij się, że element podrzędny <Name> jest zawsze określony i nie jest pusty w elemencie <Keystore> zasad Generowanie potwierdzenia SAML.
Aby poprawić powyższy przykład, możesz prawidłowo określić element <Name>, a także zadbać o to, aby w elemencie <Alias> była podana prawidłowa 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 w artykule referencyjnym dotyczącym zasad SAMLAssertion.
NullKeyStoreAlias
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat 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 został określony w elemencie <Keystore> zasady Generate SAML Assertion, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wymagany jest prawidłowy alias magazynu kluczy.
Diagnostyka
Sprawdź wszystkie zasady Generate SAML Assertion w konkretnym serwerze proxy interfejsu 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 jest określony w elemencie<Keystore>, to jest to przyczyna błędu.Ta zasada generowania asercji SAML ma pusty element podrzędny
<Alias>w elemencie<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>
Rozdzielczość
Upewnij się, że element podrzędny <Name> jest zawsze określony i nie jest pusty w elemencie <Keystore> zasady Generowanie asercji SAML.
Aby poprawić powyższy przykład, możesz prawidłowo określić element <Alias>, a także upewnić się, że w elemencie <Name> podano 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 w artykule referencyjnym dotyczącym zasad SAMLAssertion.
NullIssuer
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu API zarządzania Edge kończy się niepowodzeniem i wyświetla ten komunikat 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 został określony w zasadzie Generate SAML
Assertion, wdrożenie serwera proxy interfejsu API nie powiedzie się. Wymagana jest prawidłowa wartość <Issuer>.
Diagnostyka
Sprawdź wszystkie zasady generowania asercji SAML w konkretnym interfejsie API Proxy, w którym wystąpił błąd. Jeśli w zasadach Generate SAML Assertion element
<Issuer>jest pusty lub nieokreślony, to jest to przyczyną błędu.W tych zasadach generowania asercji SAML element
<Issuer>jest pusty:<?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 nie jest pusty w zasadzie generowania asercji SAML.
Aby poprawić powyższy przykład, prawidłowo 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 w artykule referencyjnym dotyczącym zasad SAMLAssertion.