Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
SourceNotConfigured
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden dağıtımı şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Örnek Hata Mesajı
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Örnek Hata Ekran Görüntüsü
Neden
SAML Onaylama politikasının şu öğelerinden biri veya daha fazlası tanımlanmamış veya boş değilse API Proxy'sinin dağıtımı bu hatayı vererek başarısız olur: <Source>
, <XPath>
, <Namespaces>
, <Namespace>
.
Örneğin, <XPath>
öğesini atlar veya <Source>
öğesini ya da varlıklarını boş bırakırsanız API proxy'sinin dağıtımı başarısız olur.
Teşhis
Hata mesajından başarısız olan SAML Beyanını Doğrula politikasının adını belirleyin. Örneğin, aşağıdaki hatada ValidateSAMLAssertion politikasının adı
Validate-SAML-Assertion-1
'tür.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
SAML Beyanlarını Doğrula politikasının XML'ini inceleyin. Politikanın şu öğelerinden birinin veya daha fazlasının eksik ya da boş olup olmadığını kontrol edin:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. Varsa hatanın nedeni bu olabilir.Örneğin, aşağıdaki politikada
<Source>
öğesinin altında boş bir<Namespaces>
öğesi vardır:<?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>
Yukarıdaki örnekte
<Namespaces>
öğesi boş olduğundan aşağıdaki hatayı alırsınız:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Çözünürlük
<Source>
öğesinin değerlerinin, <Namespaces>
öğesi ve alt öğesi <Namespace>
ile doğru şekilde yapılandırıldığından emin olun.
Ayrıca <XPath>
öğesinin tanımlandığından ve boş olmadığından emin olmanız gerekir.
Yukarıda gösterilen SAML Beyanlarını Doğrula politikası örneğini düzeltmek için <XPath>
öğelerinin yanı sıra <Namespace>
öğelerini de ekleyebilirsiniz:
<?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
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden dağıtımı şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Örnek Hata Mesajı
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Örnek Hata Ekran Görüntüsü
Neden
<TrustStore>
öğesi boşsa veya ValidateSAMLAssertion politikasında belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir Güven Merkezi gereklidir.
Teşhis
Hatanın oluştuğu belirli API proxy'sinde tüm SAML Beyanlarını Doğrula politikalarını inceleyin.
<TrustStore>
öğesinin boş veya belirtilmediği bir Validate SAML Assertion politikası varsa hatanın nedeni budur.<?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>
Çözünürlük
SAML Beyanlarını Doğrulama politikasında <TrustStore>
öğesinin her zaman belirtildiğinden ve boş olmadığından emin olun. <TrustStore>
adının, proxy dağıtmaya çalıştığınız tüm ortamlarda bulunan geçerli bir TrustStore adıyla eşleşmesi gerekir.
Yukarıdaki örneği düzeltmek için <TrustStore>
öğesini geçerli bir değerle belirtebilirsiniz.
<?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>
Truststore'un nasıl kullanılacağı hakkında daha fazla bilgi için Truststore ve Keystore başlıklı makaleyi inceleyin.
NullKeyStore
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden dağıtımı şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Örnek Hata Mesajı
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Örnek Hata Ekran Görüntüsü
Neden
<Name>
alt öğesi boşsa veya GenerateSAMLAssertion politikasının <Keystore>
öğesinde belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir anahtar mağazası adı gereklidir.
Teşhis
Hatanın oluştuğu belirli API proxy'sinde tüm SAML Beyan Oluşturma politikalarını inceleyin.
<Name>
alt öğesinin boş olduğu veya<Keystore>
öğesinde belirtilmediği bir SAML Beyan Oluşturma politikası varsa hatanın nedeni budur.Aşağıdaki SAML Beyan Oluşturma politikasında,
<Keystore>
öğesinde boş bir alt öğe<Name>
vardır:<?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>
Çözünürlük
SAML Beyan Oluşturma politikasının <Keystore>
öğesinde <Name>
alt öğesinin her zaman belirtildiğinden ve boş olmadığından emin olun.
Yukarıdaki örneği düzeltmek için <Name>
öğesini doğru şekilde belirtebilir ve <Alias>
öğesi için geçerli bir değer belirttiğinizden emin olabilirsiniz.
<?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>
SAMLAssertion Politikası Referans Makalesindeki Kod Örnekleri'ne bakın.
NullKeyStoreAlias
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden dağıtımı şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Örnek Hata Mesajı
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Örnek Hata Ekran Görüntüsü
Neden
<Alias>
alt öğesi boşsa veya SAML Onaylama politikasının <Keystore>
öğesinde belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir Anahtar Deposu takma adı gerekir.
Teşhis
Hatanın oluştuğu ilgili API Proxy'sinde tüm SAML Onaylama politikalarını inceleyin.
<Alias>
alt öğesinin boş olduğu veya<Keystore>
öğesinde belirtilmediği bir SAML Beyan Oluşturma politikası varsa hatanın nedeni budur.Aşağıdaki SAML Beyan Oluşturma politikasında,
<Keystore>
öğesinde boş bir alt öğe<Alias>
vardır:<?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>
Çözünürlük
SAML Beyan Oluşturma politikasının <Keystore>
öğesinde <Name>
alt öğesinin her zaman belirtildiğinden ve boş olmadığından emin olun.
Yukarıdaki örneği düzeltmek için <Alias>
öğesini doğru şekilde belirtebilir ve <Name>
öğesi için geçerli bir değer belirttiğinizden emin olabilirsiniz.
<?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>
SAMLAssertion Policy Referans Makalesindeki Kod Örnekleri başlıklı örneklere bakın.
NullIssuer
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge yönetim API'si üzerinden dağıtımı şu hata mesajıyla başarısız olur:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Örnek Hata Mesajı
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Örnek Hata Ekran Görüntüsü
Neden
<Issuer>
öğesi boşsa veya SAML Beyan Oluşturma politikasında belirtilmemişse API proxy'sinin dağıtımı başarısız olur. Geçerli bir <Issuer>
değeri gereklidir.
Teşhis
Hatanın oluştuğu ilgili API Proxy'sinde tüm SAML Onaylama politikalarını inceleyin.
<Issuer>
öğesinin boş olduğu veya belirtilmediği bir SAML Beyan Oluşturma politikası varsa hatanın nedeni budur.Aşağıdaki SAML Beyan Oluşturma politikasında boş bir
<Issuer>
öğesi vardır:<?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>
Çözünürlük
SAML Beyan Oluşturma politikasında <Issuer>
öğesinin her zaman belirtildiğinden ve boş olmadığından emin olun.
Yukarıdaki örneği düzeltmek için <Issuer>
öğesini doğru şekilde belirtin:
<?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>
SAMLAssertion Policy Referans Makalesindeki Kod Örnekleri başlıklı örneklere bakın.