現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する。
SourceNotConfigured
エラー メッセージ
Apigee UI または Apigee API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
エラー メッセージの例
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
エラーのスクリーンショットの例
原因
ValidateSAMLAssertion
ポリシーの <Source>
、<XPath>
、<Namespaces>
、<Namespace>
要素のうち 1 つ以上が定義されていない場合、または空の場合、API プロキシのデプロイはこのエラーで失敗します。
たとえば、<XPath>
要素が不足している場合、または <Source>
要素やそのエンティティを空のままにすると、API プロキシのデプロイに失敗します。
診断
エラー メッセージから、失敗した
ValidateSAMLAssertion
ポリシー名を特定します。たとえば、次のエラーではValidateSAMLAssertion
ポリシー名はValidate-SAML-Assertion-1
です。ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
失敗した
ValidateSAMLAssertion
ポリシーの XML を調べます。ポリシーの<Source>
、<XPath>
、<Namespaces>
、<Namespace>
要素のうち不足しているものがないか、または空になっていないかを確認します。該当する場合は、それがエラーの原因である可能性があります。たとえば、次のポリシーでは、
<Source>
要素の下に空の<Namespaces>
要素があります。<?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>
前述の例では、
<Namespaces>
要素は空であるため、次のエラーが発生します。ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
解決策
<Source>
要素の値が、<Namespaces>
要素とその子要素 <Namespace>
で正しく設定されていることを確認します。また、<XPath>
要素が定義済みで、空でないことを確認する必要もあります。
上の ValidateSAMLAssertion
ポリシーの例を修正するには、<Namespace>
要素と <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
エラー メッセージ
Apigee UI または Apigee API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
エラー メッセージの例
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
エラーのスクリーンショットの例
原因
ValidateSAMLAssertion ポリシーで <TrustStore>
要素が空であるか、指定されていない場合、API プロキシのデプロイが失敗します。有効なトラストストアが必要です。
診断
エラーが発生した特定の API プロキシで、すべての Validate SAML Assertion ポリシーを調べます。いずれかの Validate SAML Assertion ポリシーで、
<TrustStore>
要素が空であるか指定されていない場合は、これがエラーの原因です。<?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>
解決策
SAMLAssertion ポリシー内で要素 <TrustStore>
が必ず指定されていて、空でないことを確認します。<TrustStore>
名は、プロキシをデプロイしようとしている先のすべての環境に存在する、有効な TrustStore の名前と一致する必要があります。
上の例を修正するには、有効な値で <TrustStore>
要素を指定します。
<?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
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
エラー メッセージの例
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
エラーのスクリーンショットの例
原因
GenerateSAMLAssertion
ポリシーの <Keystore>
要素で子要素 <Name>
が空であるか、指定されていない場合、API プロキシのデプロイが失敗します。有効なキーストア名が必要です。
診断
エラーが発生した特定の API プロキシで、すべての
GenerateSAMLAssertion
ポリシーを調べます。いずれかのGenerateSAMLAssertion
ポリシーの<Keystore>
要素で、子要素<Name>
が空であるか指定されていない場合は、これがエラーの原因です。次の
GenerateSAMLAssertion
ポリシーには、<Keystore>
要素内に空の子要素<Name>
があります。<?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>
解決策
GenerateSAMLAssertion
ポリシーの <Keystore>
要素内で子要素 <Name>
が必ず指定されていて、空でないことを確認します。
上の例を修正するには、<Name>
要素を正しく指定し、<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>
SAMLAssertion ポリシーの例をご覧ください。
NullKeyStoreAlias
エラー メッセージ
Apigee UI または Apigee API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
エラー メッセージの例
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
エラーのスクリーンショットの例
原因
GenerateSAMLAssertion
ポリシーの <Keystore>
要素で子要素 <Alias>
が空であるか、指定されていない場合、API プロキシのデプロイが失敗します。有効なキーストア エイリアスが必要です。
診断
エラーが発生した特定の API プロキシで、すべての
GenerateSAMLAssertion
ポリシーを調べます。いずれかのGenerateSAMLAssertion
ポリシーの<Keystore>
要素で、子要素<Alias>
が空であるか指定されていない場合は、これがエラーの原因です。次の
GenerateSAMLAssertion
には、<Keystore>
要素内に空の子要素<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></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>
解決策
GenerateSAMLAssertion
ポリシーの <Keystore>
要素内で子要素 <Name>
が必ず指定されていて、空でないことを確認します。
上の例を修正するには、<Alias>
要素を正しく指定し、<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>
SAMLAssertion ポリシーの例をご覧ください。
NullIssuer
エラー メッセージ
Apigee UI または Apigee API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
エラー メッセージの例
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
エラーのスクリーンショットの例
原因
GenerateSAMLAssertion
ポリシーで <Issuer>
要素が空であるか、指定されていない場合、API プロキシのデプロイが失敗します。有効な <Issuer>
の値が必要です。
診断
エラーが発生した特定の API プロキシで、すべての
GenerateSAMLAssertion
ポリシーを調べます。いずれかのGenerateSAMLAssertion
ポリシーで、<Issuer>
要素が空であるか指定されていない場合は、これがエラーの原因です。次の
GenerateSAMLAssertion
ポリシーには空の<Issuer>
要素があります。<?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>
解決策
GenerateSAMLAssertion
ポリシー内で <Issuer>
要素が必ず指定されていて、空ではないことを確認します。
上の例を修正するには、<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>
SAMLAssertion ポリシーの例をご覧ください。