2013-05-07 27 views
27

我們在我們的日誌如何解決javax.naming.PartialResultException?

javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=global,dc=com'

看到此警告的消息看來,只要用戶登錄到我們的應用程序。

根據this SO post,可以通過將Context.REFERRAL設置爲follow來解決。但它將搜索時間從1秒增加到4秒。

其實你可以參考this SO post,它說使用follow會減慢搜索速度。

所以我的問題是,從我們的日誌中擺脫這種異常而不影響性能的最好方法是什麼?

回答

32

好的。當您的搜索返回引薦並且您設置爲忽略引薦時,您會看到此異常。

[推薦:當您在廣告搜索,如果AD認爲有在另一個地方提供更多的信息,它返回一個引用[地方與你的搜索結果一起獲取更多]

你能避免此例外情況是將Context.REFERRAL設置爲follow。然後它會在推薦中搜索[這就是爲什麼它需要更多時間來返回結果]。

但在我的情況下,推介是無效的,並返回另一個例外。

我通過更改baseDN(搜索基地)更具體來解決了此問題。例如:「ou = users,dc = mydomain,dc = com」。現在我沒有看到這個例外,因爲它沒有返回任何推薦。

+0

當設置轉診,你需要能夠解決域根地址。 (例如:mydomain.com) – olivervbk 2014-06-16 15:46:07

35

可正常工作的另一個可能的解決辦法是改變端口號(假設這是一個GC服務器):如果您使用

如果您正在使用的端口389將其更改爲3268

它的端口636更改爲3269

這工作,因爲(我引述):

在GC(全局編錄)服務器返回389請示指 更大AD「森林」,但就像在3268常規LDAP服務器(和 3269爲LDAPS)

它爲我工作。

我在Shibboleth用戶列表中找到了這個解決方案,由Paul Caskey回答(所有功勞都歸功於他)。

您可以檢查此鏈接上的談話:

https://lists.internet2.edu/sympa/arc/shibboleth-users/2008-06/msg00039.html

+1

更改爲端口3268/9效果很好。不幸的是,搜索和查找似乎只返回一部分屬性。例如,即使明確查詢,也不會返回employeeID屬性。 – Jeshurun 2017-01-19 15:05:19

+0

全局編錄尚未獲得全部屬性(僅包含子集)。所以這不是每個人的解決方案。 – jsosnowski 2017-07-10 11:50:08