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

Xmpp 如何在本地服务器上使用Smack API UserSearchManager?,xmpp,smack,openfire,Xmpp,Smack,Openfire,这可能是一个非常基本的问题,但我在使用以下代码访问OpenFire搜索功能时遇到问题: try { UserSearchManager search = new UserSearchManager(connection.getConnection()); Form searchForm = search.getSearchForm("search." + server); ... } catch (Exception e) {.

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

    try {

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

    } catch (Exception e) {...}
这里的服务器是一个值类似于“192.168.242.132”的字符串,代码从这一行获取错误:
formsearchform=search.getSearchForm(“search.”+server)

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

我假设问题在于“服务器”字符串值。以前有人遇到过这样的问题吗


编辑:我已经添加了/etc/hosts来解析myelastix-local.com的IP地址,但仍然存在相同的问题,它可以访问创建/登录api,但搜索仍然不起作用。我是否也必须修改openfire服务器设置

您确定可以使用IP调用
getSearchForm()
?尝试提供组件ID,它通常类似于
“search.jabberserver.tld”

以下是我所做的:

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

连接是XMPPConnection。

在主机文件中添加条目在这里没有帮助。不涉及反向DNS查找。看看源代码:
getSearchFrom()
中的字符串直接写入节中。只需将字符串设置为“myelastix local.com”。感谢您提供的信息,但是我已经在几个小时前解决了这个问题。@xybrek然后与我们共享解决方案,请:)当然,请参阅我的回复帖子。参考部分:
“搜索”。+connection.getServiceName()
,我在哪里可以找到或配置ejabberd设置的相关字符串?