Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
SourceNotConfigured
Komunikat o błędzie
wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub zarządzania urządzeniami brzegowymi; Interfejs API ulega awarii i wyświetla się następujący 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 kończy się tym błędem, jeśli co najmniej jedno z
następujące elementy zasady Validate SAML Assertion nie są
zdefiniowaną lub pustą wartość: <Source>
, <XPath>
, <Namespaces>
, <Namespace>
.
Jeśli na przykład pominiesz element <XPath>
lub opuścisz <Source>
lub jego encje są puste, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Zidentyfikuj nieudaną nazwę zasady weryfikacji SAML w . Na przykład w przypadku następującego błędu kodu Weryfikacja Nazwa zasady asercji SAML to
Validate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Sprawdź niepoprawny kod XML zasady weryfikacji SAML. Sprawdź, czy: brakuje co najmniej jednego z tych elementów zasad lub jest on pusty:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. Jeśli tak, co może być przyczyną błędu.Na przykład ta zasada zawiera 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, pojawia się błąd:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Rozdzielczość
Sprawdź, czy wartości elementu <Source>
są prawidłowo skonfigurowane
z elementem <Namespaces>
i jego elementem podrzędnym <Namespace>
.
Musisz też upewnić się, że element <XPath>
jest zdefiniowany i nie jest pusty.
Aby poprawić przykładową zasadę weryfikacji SAML przedstawioną powyżej,
może 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 Edge lub zarządzania urządzeniami brzegowymi; Interfejs API ulega awarii i wyświetla się następujący 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 polu
Zweryfikuj zasadę SAMLAssertion, a następnie wdrożenie interfejsu API
serwer proxy nie działa. Wymagany jest prawidłowy magazyn zaufania.
Diagnostyka
Sprawdź wszystkie zasady Validate SAML Assertion w Serwer proxy interfejsu API, w którym wystąpił błąd. Jeśli jest dostępna weryfikacja Zasada asercji SAML, w której element
<TrustStore>
jest pusty lub nie został określony, to to 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ść
Element <TrustStore>
musi być zawsze określony oraz
nie może być puste w zasadzie Validate SAML Assertion (Weryfikacja asercji SAML). <TrustStore>
nazwa powinna być zgodna z nazwą prawidłowego TrustStore
istniejąca we wszystkich środowiskach, w których próbujesz wdrożyć
serwer proxy.
Aby poprawić ten przykład, możesz określić <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 Truststore znajdziesz w informacjach o magazynach zaufania i magazynach kluczy.
NullKeyStore
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub Edge interfejs API zarządzania kończy się niepowodzeniem i wyświetla się następujący 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 parametrze
<Keystore>
zasady GenerateSAMLAssertion, a następnie
nie uda się wdrożyć serwera proxy interfejsu API. Wymagana jest prawidłowa nazwa magazynu kluczy.
Diagnostyka
Sprawdź wszystkie zasady Generate SAML Assertion (Generowanie asercji SAML) w konkretnym Serwer proxy interfejsu API, w którym wystąpił błąd. Jeśli na stronie jest Zasada asercji SAML, w której element podrzędny
<Name>
jest jest puste lub nie jest określony w elemencie<Keystore>
, to jest przyczyny błędu.Poniższa zasada Generate SAML Assertion (Generowanie asercji SAML) ma pusty element podrzędny element
<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.
niepuste w obrębie elementu <Keystore>
metody Generate SAML Assertion
.
Aby poprawić ten przykład, możesz poprawnie określić element <Name>
oraz upewnij się, że dla elementu <Alias>
została określona 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 z przykładowego kodu w artykule referencyjnym zasad SAMLAssertion.
NullKeyStoreAlias
Komunikat o błędzie
wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub zarządzania urządzeniami brzegowymi; Interfejs API ulega awarii i wyświetla się następujący 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 parametrze
<Keystore>
zasady Generate SAML Assertion policy, a następnie tag
nie uda się wdrożyć serwera proxy interfejsu API. Wymagany jest prawidłowy alias magazynu kluczy.
Diagnostyka
Sprawdź wszystkie zasady Generate SAML Assertion (Generowanie asercji SAML) w konkretnym Serwer proxy interfejsu API, w którym wystąpił błąd. Jeśli na stronie jest Zasada asercji SAML, w której element podrzędny
<Alias>
jest jest puste lub nie jest określony w elemencie<Keystore>
, to jest przyczyny błędu.Poniższa zasada Generate SAML Assertion (Generowanie asercji SAML) ma pusty element podrzędny element
<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ść
Sprawdź, czy element podrzędny <Name>
jest zawsze określony i nie jest pusty
w elemencie <Keystore>
zasady Generate SAML Assertion (Generowanie asercji SAML).
Aby poprawić przykład powyżej, możesz określić element <Alias>
oraz upewnij się, że w funkcji
<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>
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 Edge lub zarządzania urządzeniami brzegowymi; Interfejs API ulega awarii i wyświetla się następujący 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 (Wygeneruj SAML)
Zasada asercji, wtedy wdrożenie serwera proxy interfejsu API się nie uda. Prawidłowy
Wartość <Issuer>
jest wymagana.
Diagnostyka
Sprawdzanie wszystkich zasad Generate SAML Assertion w konkretnym interfejsie API Serwer proxy, na którym wystąpił błąd. Jeśli jest używane okno Generate SAML (Wygeneruj SAML) Zasada asercji, w której element
<Issuer>
jest pusty lub nie to właśnie on jest przyczyną błędu.W poniższej zasadzie 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ść
Sprawdź, czy element <Issuer>
jest zawsze określony i nie jest pusty w
zasady Generate SAML Assertion (Generowanie asercji SAML).
Aby poprawić ten 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.