ejabberd搜索-模块无法处理查询



我使用此代码在ejabberd:中搜索用户

BareJid bareJid = JidCreate.bareFrom(_user_name + "@domain");
UserSearchManager sm = MainService.getUserSearchManager();
DomainBareJid sDomain = sm.getSearchServices().get(0);
Form form = sm.getSearchForm(sDomain).createAnswerForm();
form.setAnswer("user",_user_name);
ReportedData reportedData = sm.getSearchResults(form, sDomain);

但我得到了这个错误:

<iq from='vjud.mnyr' id='jeRII-100' to='admin@mnyr/rsrc' type='error' xml:lang='en'>
<query xmlns='jabber:iq:search'>
<x type='submit' xmlns='jabber:x:data'>
<field type='text-single' var='user'>
<value>1*</value>
</field>
</x>
</query>
<error code='500' type='wait'>
<internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-stanzas' />
<text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas' xml:lang='en'>Module failed to handle the query
</text>
</error>
</iq>

并且在日志中:

Reason = {error,{{case_clause,undefined},[{io_lib_pretty,cind_rec,6,[{file,"io_lib_pretty.erl"},{line,813}]},{io_lib_pretty,cind_record,8,[{file,"io_lib_pretty.erl"},{line,765}]},{io_lib_pretty,cind_element,7,[{file,"io_lib_pretty.erl"},{line,849}]},{io_lib_pretty,cind_list,7,[{file,"io_lib_pretty.erl"},{line,819}]},{io_lib_pretty,cind_field,7,[{file,"io_lib_pretty.erl"},{line,795}]},{io_lib_pretty,cind_fields_tail,8,[{file,"io_lib_pretty.erl"},{line,779}]},{io_lib_pretty,cind_element,7,[{file,"io_lib_pretty.erl"},{line,849}]},{io_lib_pretty,cind_list,7,[{file,"io_lib_pretty.erl"},{line,819}]}]}}

请帮帮我。我在使用XmppFramework和Smack v4的MacOS上使用Ejabberd v18.0.6。

我可以很容易地重现这个问题。这是一个小错误,我现在已经在这次提交中修复了:https://github.com/processone/ejabberd/commit/1be21126342d503205798605725ba5ceef9de42b

谢谢你的评论!

最新更新