代码之家  ›  专栏  ›  技术社区  ›  Mahdi Moqadasi

EJaberd搜索-模块未能处理查询

  •  1
  • Mahdi Moqadasi  · 技术社区  · 8 年前

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

    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。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Badlop    8 年前

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

    感谢您的评论!

    推荐文章