如何在本地服务器上使用Smack API UserSearchManager?

时间:2011-08-22 15:38:35

标签: xmpp smack openfire

这可能看起来是一个非常基本的问题,但我在使用此代码访问OpenFire搜索功能时遇到问题:

    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);

基本上,服务器已启动并正在运行,因为我可以创建帐户和登录/注销。

我认为问题在于“server”字符串值。以前有人遇到过这种问题吗?

编辑:我已经在/ etc / hosts中添加了解析到myelastix-local.com的IP地址但仍然遇到同样的问题,它可以访问create / login api但搜索仍然无效。我是否还必须修改openfire服务器设置?

2 个答案:

答案 0 :(得分:1)

您确定可以使用IP拨打getSearchForm()吗?尝试提供组件ID,通常类似于"search.jabberserver.tld"

答案 1 :(得分:1)

这就是我的所作所为:

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

连接是XMPPConnection。