// 查詢用戶
public static void searchUserBeans(XMPPConnection conn, String userName) throws XMPPException{
UserSearchManager usm = new UserSearchManager(conn);
org.jivesoftware.smackx.Form searchform = usm
.getSearchForm("search.192.168.1.66");//注意:search表單默認都是search.服務器地址
org.jivesoftware.smackx.Form answerForm = searchform
.createAnswerForm();
answerForm.setAnswer("Username", true);
answerForm.setAnswer("search", userName);
ReportedData data = usm.getSearchResults(answerForm,
"search.192.168.1.66");
Iterator<Row> it = data.getRows();
Row row = null;
while (it.hasNext()) {
row = it.next();
String uname = row.getValues("Username").next().toString();
String Email = row.getValues("Email").next().toString();
String Name = row.getValues("Name").toString();
row.toString();
System.out.println("----------uname---------" + uname);
System.out.println("----------Email---------" + Email);
System.out.println("----------Name---------" + Name);
}
}
如果自己嫁接的數據庫表搜索用戶的話需要自己寫個類繼承IQ,替換UserSearch類,最後別忘了在配置信息裏面將
// User Search
pm.addIQProvider("query", "jabber:iq:search", new UserSearch.Provider());替換成自己的類