2011-08-22 38 views
1

這可能看起來很基本的問題,但我有使用此代碼訪問的Openfire搜索功能的一個問題:如何在本地服務器上使用Smack API UserSearchManager?

try { 

     UserSearchManager search = new UserSearchManager(connection.getConnection()); 
     Form searchForm = search.getSearchForm("search." + server); 
     ... 

    } catch (Exception e) {...} 

這裏的服務器是具有價值的東西,如「192.168.242.132」的字符串,該代碼獲取錯誤從這一行開始:Form searchForm = search.getSearchForm("search." + server);

基本上,服務器已啓動並正在運行,因爲我可以創建帳戶和登錄/註銷。

我假設問題是與「服務器」字符串值。任何一個人之前都遇到過這種問題?

編輯:我已經在/ etc/hosts中添加了解析myelastix-local.com的IP地址,但仍然存在相同的問題,它可以訪問create/login api,但搜索仍然無效。我是否也必須修改openfire服務器設置?

回答

1

這裏就是我所做的:

Form searchForm = search.getSearchForm("search." + connection.getServiceName()); 

連接是XMPPConnection。

+0

你應該標記這個問題的答案。 – Flow

+0

參考零件:''搜索。「 + connection.getServiceName()',我可以在哪裏找到或配置我的ejabberd設置的相關字符串? – battery

1

您確定可以撥打IP getSearchForm()嗎?儘量提供組件ID,這通常是像"search.jabberserver.tld"

+0

你可以檢查我編輯過的帖子,我也這樣做過。 – xybrek

+0

在hosts文件中添加一個條目在這裏沒有幫助。沒有涉及反向DNS查詢。查看源代碼:getSearchFrom()中的字符串直接寫入節中。 *只需將字符串設置爲「myelastix-local.com」。* – Flow

+0

感謝您的信息,但是我已經在幾小時前解決了問題。 – xybrek

相關問題