Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
SourceNotConfigured
Mensagem de erro
A implantação do proxy de API por meio da IU do Edge ou da API de gerenciamento do Edge 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 tela com erro de exemplo
Causa
A implantação do proxy de API falha com este erro se um ou mais dos
seguintes elementos da política de validação de SAML não
estiverem definidos ou se estiverem vazios: <Source>
, <XPath>
, <Namespaces>
e <Namespace>
.
Por exemplo, se você perder o elemento <XPath>
ou deixar o elemento <Source>
ou suas entidades vazias, a implantação do proxy de API falhará.
Diagnóstico
Identifique o nome da política de validação de SAML com falha na mensagem de erro. Por exemplo, no erro a seguir, o nome da política de validação de declaração SAML é
Validate-SAML-Assertion-1
.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Examine o XML da política de validação de declaração SALM com falha. Verifique se um ou mais dos seguintes elementos da política estão ausentes ou vazios:
<Source>
,<XPath>
,<Namespaces>
,<Namespace>
. Se for o caso, isso pode ser a causa do erro.Por exemplo, a política a seguir 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. Portanto, você receberá o erro:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Resolução
Verifique se os valores do elemento <Source>
estão configurados corretamente
com o elemento <Namespaces>
e o elemento filho <Namespace>
.
Além disso, verifique se o elemento <XPath>
está definido e não vazio.
Para corrigir o exemplo de política de validação de declaração SAML exibida acima, adicione os elementos <Namespace>
e <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 implantação do proxy de API por meio da IU do Edge ou da API de gerenciamento do Edge 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 tela com erro de exemplo
Causa
Se o elemento <TrustStore>
estiver vazio ou não for especificado na
política ValidateSAMLAssertion, a implantação do proxy da
API falhará. Uma Trust Store válida é obrigatória.
Diagnóstico
Analise todas as políticas de validação de declaração SAML no proxy de API específico em que a falha ocorreu. Se houver uma política de validação de declaração SAML em que o elemento
<TrustStore>
esteja vazio ou não especificado, essa será 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
Garanta que o elemento <TrustStore>
seja sempre especificado e
não esteja vazio na política de validação de declaração SALM. O nome <TrustStore>
precisa corresponder ao nome de um TrustStore
válido em todos os ambientes em que você está tentando implantar
um proxy.
Para corrigir o exemplo acima, especifique 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>
Para mais informações sobre como usar o Truststore, consulte Truststores e keystores.
NullKeyStore
Mensagem de erro
A implantação do proxy de API pela IU do Edge ou pela API de gerenciamento do Edge 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 tela com erro de exemplo
Causa
Se o elemento filho <Name>
estiver vazio ou não especificado no
elemento <Keystore>
da política GenerateSAMLAssertion, a
implantação do proxy de API falhará. Um nome válido de keystore é obrigatório.
Diagnóstico
Analise todas as políticas de geração de declaração SAML no proxy de API específico em que a falha ocorreu. Se houver uma política de geração de declaração SALM em que o elemento filho
<Name>
esteja vazio ou não tenha sido especificado no elemento<Keystore>
, essa será a causa do erro.A seguinte política de geração de declaração SALM tem um elemento filho
<Name>
vazio 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 filho <Name>
esteja sempre especificado e
não vazio no elemento <Keystore>
da política de geração de declaração
SALM.
Para corrigir o exemplo acima, especifique o elemento <Name>
corretamente
e verifique se um valor válido foi especificado 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>
Veja exemplos em Exemplos de código no artigo de referência de política SAMLAssertion.
NullKeyStoreAlias
Mensagem de erro
A implantação do proxy de API por meio da IU do Edge ou da API de gerenciamento do Edge 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 tela com erro de exemplo
Causa
Se o elemento filho <Alias>
estiver vazio ou não especificado no elemento <Keystore>
da política de geração de declaração SALM, a implantação do proxy de API falhará. Um alias de keystore válido é obrigatório.
Diagnóstico
Analise todas as políticas de geração de declaração SAML no proxy de API específico em que a falha ocorreu. Se houver uma política de geração de declaração SALM em que o elemento filho
<Alias>
esteja vazio ou não tenha sido especificado no elemento<Keystore>
, essa será a causa do erro.A seguinte política de geração de declaração SALM tem um elemento filho
<Alias>
vazio 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
Verifique se o elemento filho <Name>
está sempre especificado e não está vazio
no elemento <Keystore>
da política Gerar declaração SAML.
Para corrigir o exemplo acima, especifique o elemento <Alias>
corretamente
e verifique se um valor válido foi especificado 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>
Veja exemplos em Exemplos de código no artigo de referência de política SAMLAssertion.
NullIssuer
Mensagem de erro
A implantação do proxy de API por meio da IU do Edge ou da API de gerenciamento do Edge 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 tela com erro de exemplo
Causa
Se o elemento <Issuer>
estiver vazio ou não for especificado na política de geração de declaração SALM,
a implantação do proxy da API falhará. Um valor de
<Issuer>
válido é necessário
Diagnóstico
Analise todas as políticas de geração de declaração SAML no proxy de API específico em que a falha ocorreu. Se houver uma política de geração de declaração SAML em que o elemento
<Issuer>
esteja vazio ou não especificado, essa será a causa do erro.A seguinte política de geração de declaração SAML tem 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
Garanta que o elemento <Issuer>
seja sempre especificado e não esteja vazio na
política de geração de declaração SAML.
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>
Veja exemplos em Exemplos de código no artigo de referência de política SAMLAssertion.