Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
SourceNotConfigured
Mensagem de erro
A implementação do proxy de API através da IU do Apigee ou da API Apigee falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Exemplo de mensagem de erro
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Captura de ecrã de erro de exemplo

Causa
A implementação do proxy de API falha com este erro se um ou mais dos seguintes elementos da política ValidateSAMLAssertion não estiverem definidos ou estiverem vazios: <Source>, <XPath>, <Namespaces> e <Namespace>.
Por exemplo, se não incluir o elemento <XPath> ou deixar o elemento <Source> ou as respetivas entidades vazias, a implementação do proxy da API falha.
Diagnóstico
Identifique o nome da política
ValidateSAMLAssertioncom falha na mensagem de erro. Por exemplo, no seguinte erro, oValidateSAMLAssertionnome da política éValidate-SAML-Assertion-1.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.Examine o XML da política
ValidateSAMLAssertioncom falhas. Verifique se um ou mais dos seguintes elementos da política estão em falta ou vazios:<Source>,<XPath>,<Namespaces>e<Namespace>. Se for o caso, essa pode ser a causa do erro.Por exemplo, a seguinte política tem um elemento
<Namespaces>vazio no elemento<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>No exemplo acima, o elemento
<Namespaces>está vazio e, por isso, recebe o seguinte erro:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Resolução
Certifique-se de que os valores do elemento <Source> estão configurados corretamente
com o elemento <Namespaces> e o respetivo elemento filho <Namespace>.
Também tem de garantir que o elemento <XPath> está definido e não está vazio.
Para corrigir a política de exemplo ValidateSAMLAssertion apresentada acima, pode adicionar os elementos <Namespace>, bem como <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
Mensagem de erro
A implementação do proxy de API através da IU do Apigee ou da API Apigee falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Exemplo de mensagem de erro
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Captura de ecrã de erro de exemplo

Causa
Se o elemento <TrustStore> estiver vazio ou não for especificado na política
ValidateSAMLAssertion, a implementação do proxy
de API falha. É necessária uma loja fidedigna válida.
Diagnóstico
Examine todas as políticas de validação de declarações SAML no proxy de API específico onde ocorreu a falha. Se existir alguma política de validação de declaração SAML em que o elemento
<TrustStore>esteja vazio ou não especificado, essa é a causa do erro.<?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>
Resolução
Certifique-se de que o elemento <TrustStore> é sempre especificado e não está vazio na política SAMLAssertion. O nome deve corresponder ao nome de um TrustStore válido que exista em todos os ambientes para os quais está a tentar implementar um proxy.<TrustStore>
Para corrigir o exemplo acima, pode especificar o elemento <TrustStore>
com um valor válido.
<?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>
NullKeyStore
Mensagem de erro
A implementação do proxy de API através da IU do Apigee ou da API falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Exemplo de mensagem de erro
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Captura de ecrã de erro de exemplo

Causa
Se o elemento subordinado <Name> estiver vazio ou não for especificado no elemento <Keystore> da política GenerateSAMLAssertion, a implementação do proxy de API falha. É necessário um nome de keystore válido.
Diagnóstico
Examine todas as políticas de
GenerateSAMLAssertionno proxy de API específico onde ocorreu a falha. Se existir alguma políticaGenerateSAMLAssertionem que o elemento secundário<Name>esteja vazio ou não especificado no elemento<Keystore>, essa é a causa do erro.A seguinte política
GenerateSAMLAssertiontem um elemento secundário vazio<Name>no elemento<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>
Resolução
Certifique-se de que o elemento secundário <Name> é sempre especificado e
não está vazio no elemento <Keystore> da política GenerateSAMLAssertion.
Para corrigir o exemplo acima, pode especificar o elemento <Name> corretamente, bem como garantir que é especificado um valor válido para o elemento <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 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>
Consulte exemplos da política SAMLAssertion.
NullKeyStoreAlias
Mensagem de erro
A implementação do proxy de API através da IU do Apigee ou da API Apigee falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Exemplo de mensagem de erro
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Captura de ecrã de erro de exemplo

Causa
Se o elemento subordinado <Alias> estiver vazio ou não for especificado no elemento <Keystore> da política GenerateSAMLAssertion, a implementação do proxy de API falha. É necessário um alias do keystore válido.
Diagnóstico
Examine todas as políticas de
GenerateSAMLAssertionno proxy de API específico onde ocorreu a falha. Se existir alguma políticaGenerateSAMLAssertionem que o elemento secundário<Alias>esteja vazio ou não especificado no elemento<Keystore>, essa é a causa do erro.O seguinte
GenerateSAMLAssertiontem um elemento secundário vazio<Alias>no elemento<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>
Resolução
Certifique-se de que o elemento secundário <Name> é sempre especificado e não está vazio
no elemento <Keystore> da política GenerateSAMLAssertion.
Para corrigir o exemplo acima, pode especificar o elemento <Alias> corretamente, bem como garantir que é especificado um valor válido para o elemento <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>
Consulte exemplos da política SAMLAssertion.
NullIssuer
Mensagem de erro
A implementação do proxy de API através da IU do Apigee ou da API Apigee falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Exemplo de mensagem de erro
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Captura de ecrã de erro de exemplo

Causa
Se o elemento <Issuer> estiver vazio ou não for especificado na política GenerateSAMLAssertion, a implementação do proxy de API falha. É necessário um valor <Issuer> válido.
Diagnóstico
Examine todas as políticas no proxy de API específico onde ocorreu a falha.
GenerateSAMLAssertionSe existir alguma política deGenerateSAMLAssertionem que o elemento<Issuer>esteja vazio ou não especificado, essa é a causa do erro.A seguinte política
GenerateSAMLAssertiontem um elemento<Issuer>vazio:<?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>
Resolução
Certifique-se de que o elemento <Issuer> está sempre especificado e não está vazio na política GenerateSAMLAssertion.
Para corrigir o exemplo acima, especifique o elemento <Issuer> corretamente:
<?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>
Consulte exemplos da política SAMLAssertion.