Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
SourceNotConfigured
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với thông báo lỗi sau:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[policy_name]: Source is not correctly configured.
Thông báo lỗi mẫu
Error Deploying Revision 2 to test
ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Việc triển khai API Proxy sẽ thất bại với lỗi này nếu một hoặc nhiều phần tử sau đây của chính sách Xác thực câu khẳng định SAML không được xác định hoặc trống: <Source>, <XPath>, <Namespaces>, <Namespace>.
Ví dụ: nếu bạn bỏ lỡ phần tử <XPath> hoặc để trống phần tử <Source> hoặc các thực thể của phần tử đó, thì việc triển khai proxy API sẽ không thành công.
Chẩn đoán
Xác định tên chính sách Xác thực câu khẳng định SAML không thành công trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách Xác thực câu khẳng định SAML là
Validate-SAML-Assertion-1.ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.Kiểm tra tệp XML chính sách Xác thực câu lệnh SAML không thành công. Kiểm tra xem một hoặc nhiều phần tử sau đây của chính sách có bị thiếu hoặc trống hay không:
<Source>,<XPath>,<Namespaces>,<Namespace>. Nếu vậy, đó có thể là nguyên nhân gây ra lỗi.Ví dụ: chính sách sau đây có một phần tử
<Namespaces>trống trong phần tử<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>Trong ví dụ trên, phần tử
<Namespaces>trống, do đó, bạn sẽ gặp lỗi:ValidateSAMLAssertion[Validate-SAML-Assertion-1]: Source is not correctly configured.
Độ phân giải
Đảm bảo rằng các giá trị của phần tử <Source> được định cấu hình chính xác bằng phần tử <Namespaces> và phần tử con <Namespace>.
Bạn cũng cần đảm bảo rằng phần tử <XPath> được xác định và không bị trống.
Để sửa chính sách Xác thực câu khẳng định SAML trong ví dụ nêu trên, bạn có thể thêm các phần tử <Namespace> cũng như <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
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với thông báo lỗi sau:
Error Deploying Revision revision_number to environment ValidateSAMLAssertion[[Ljava.lang.Object;@object]: Trust store is not correctly configured.
Thông báo lỗi mẫu
Error Deploying Revision 2 to test
ValidateSAMLAssertion[[Ljava.lang.Object;@39537262]: Trust store is not correctly configured.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Nếu phần tử <TrustStore> trống hoặc không được chỉ định trong chính sách ValidateSAMLAssertion, thì việc triển khai proxy API sẽ không thành công. Bạn phải có một Cửa hàng tin cậy hợp lệ.
Chẩn đoán
Kiểm tra tất cả các chính sách Xác thực câu lệnh SAML trong API Proxy cụ thể nơi xảy ra lỗi. Nếu có chính sách Validate SAML Assertion (Xác thực câu khẳng định SAML) mà phần tử
<TrustStore>bị trống hoặc không được chỉ định, thì đó là nguyên nhân gây ra lỗi.<?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>
Độ phân giải
Đảm bảo rằng phần tử <TrustStore> luôn được chỉ định và không trống trong chính sách Xác thực câu khẳng định SAML. Tên <TrustStore> phải khớp với tên của một TrustStore hợp lệ có trong tất cả các môi trường mà bạn đang cố gắng triển khai một proxy.
Để sửa ví dụ trên, bạn có thể chỉ định phần tử <TrustStore> bằng một giá trị hợp lệ.
<?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>
Tham khảo bài viết Truststore và Keystore để biết thêm thông tin về cách sử dụng Truststore.
NullKeyStore
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công và bạn sẽ nhận được thông báo lỗi sau:
Error Deploying Revision revision_number to environment Assertion KeyStore name cannot be null.
Thông báo lỗi mẫu
Error Deploying Revision 4 to test
Assertion KeyStore name cannot be null.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Nếu phần tử con <Name> bị trống hoặc không được chỉ định trong phần tử <Keystore> của chính sách GenerateSAMLAssertion, thì việc triển khai proxy API sẽ không thành công. Bạn phải có tên Keystore hợp lệ.
Chẩn đoán
Kiểm tra tất cả các chính sách Tạo câu khẳng định SAML trong API Proxy cụ thể nơi xảy ra lỗi. Nếu có chính sách Generate SAML Assertion (Tạo câu khẳng định SAML) mà phần tử con
<Name>bị trống hoặc không được chỉ định trong phần tử<Keystore>, thì đó là nguyên nhân gây ra lỗi.Chính sách Tạo câu khẳng định SAML sau đây có một phần tử con trống
<Name>trong phần tử<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>
Độ phân giải
Đảm bảo rằng phần tử con <Name> luôn được chỉ định và không trống trong phần tử <Keystore> của chính sách Tạo câu khẳng định SAML.
Để sửa ví dụ trên, bạn có thể chỉ định chính xác phần tử <Name> cũng như đảm bảo rằng bạn đã chỉ định một giá trị hợp lệ cho phần tử <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>
Tham khảo các ví dụ trong Bài viết tham khảo về chính sách SAMLAssertion.
NullKeyStoreAlias
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với thông báo lỗi sau:
Error Deploying Revision revision_number to environment Assertion KeyStore alias cannot be null.
Thông báo lỗi mẫu
Error Deploying Revision 4 to test
Assertion KeyStore alias cannot be null.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Nếu phần tử con <Alias> trống hoặc không được chỉ định trong phần tử <Keystore> của chính sách Tạo câu khẳng định SAML, thì việc triển khai proxy API sẽ không thành công. Bạn phải có tên đại diện Keystore hợp lệ.
Chẩn đoán
Kiểm tra tất cả các chính sách Tạo câu khẳng định SAML trong API Proxy cụ thể nơi xảy ra lỗi. Nếu có chính sách Generate SAML Assertion (Tạo câu khẳng định SAML) mà phần tử con
<Alias>bị trống hoặc không được chỉ định trong phần tử<Keystore>, thì đó là nguyên nhân gây ra lỗi.Chính sách Tạo câu khẳng định SAML sau đây có một phần tử con trống
<Alias>trong phần tử<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>
Độ phân giải
Đảm bảo rằng phần tử con <Name> luôn được chỉ định và không trống trong phần tử <Keystore> của chính sách Tạo câu khẳng định SAML.
Để sửa ví dụ trên, bạn có thể chỉ định chính xác phần tử <Alias> cũng như đảm bảo rằng bạn chỉ định một giá trị hợp lệ cho phần tử <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>
Tham khảo các ví dụ trong Bài viết tham khảo về chính sách SAMLAssertion.
NullIssuer
Thông báo Lỗi
Việc triển khai proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge không thành công với thông báo lỗi sau:
Error Deploying Revision revision_number to environment Assertion Issuer cannot be null.
Thông báo lỗi mẫu
Error Deploying Revision 4 to test
Assertion Issuer cannot be null.
Ảnh chụp màn hình ví dụ về lỗi

Nguyên nhân
Nếu phần tử <Issuer> trống hoặc không được chỉ định trong chính sách Tạo câu khẳng định SAML, thì việc triển khai proxy API sẽ không thành công. Bạn phải nhập một giá trị <Issuer> hợp lệ.
Chẩn đoán
Kiểm tra tất cả các chính sách Tạo câu khẳng định SAML trong API Proxy cụ thể nơi xảy ra lỗi. Nếu có chính sách Generate SAML Assertion (Tạo câu khẳng định SAML) mà phần tử
<Issuer>bị trống hoặc không được chỉ định, thì đó là nguyên nhân gây ra lỗi.Chính sách Tạo câu khẳng định SAML sau đây có một phần tử
<Issuer>trống:<?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>
Độ phân giải
Đảm bảo rằng phần tử <Issuer> luôn được chỉ định và không được để trống trong chính sách Tạo câu khẳng định SAML.
Để sửa ví dụ trên, hãy chỉ định chính xác phần tử <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>
Tham khảo các ví dụ trong Bài viết tham khảo về chính sách SAMLAssertion.