我在 ec2 实例上使用 ejabberd-18.06。当我将自定义 iq 节发送为
D/SMACK: SENT (0): <iq to=‘example.com' id='Eu0j3-13' type='get'><query xmlns='ns:custom'><xyz someparam =‘4’></xyz>><abc>50</abc>><property someprop =‘4’ ctn='India'></property></query></iq>
我收到如下回复:
D/SMACK: RECV (0): <iq xml:lang='en' to='cwsxTrBQ2Z0@example.com/Smack' from=‘example.com' type='error' id='Eu0j3-13'><query xmlns='ns:custom'><xyz someparam=‘4’/>><abc>50</abc>><property someprop=‘4’ ctn='India'/></query><error code='500' type='wait'><internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Module failed to handle the query</text></error></iq><r xmlns='urn:xmpp:sm:3'/>
在服务器上,我得到这些日志:
[error] failed to process iq:
#iq{id = <<"Eu0j3-13">>,type = get,lang = <<"en">>,
from =
#jid{
user = <<"cwsxTrBQ2Z0">>,server = <<“example.com">>,
resource = <<"Smack">>,luser = <<"cwsxtrbq2z0">>,
lserver = <<"example.com">>,lresource = <<"Smack">>},
to =
#jid{
user = <<>>,server = <<"example.com">>,resource = <<>>,luser = <<>>,
lserver = <<"example.com">>,lresource = <<>>},
sub_els =
[#xmlel{]}],
meta = #{ip => {}}}
Reason = {error,{undef,[{io_lib_pretty,cind_rec,6,[{file,"io_lib_pretty.erl"},{line,690}]},{io_lib_pretty,cind_record,8,[{file,"io_lib_pretty.erl"},{line,642}]},{io_lib_pretty,cind_element,7,[{file,"io_lib_pretty.erl"},{line,726}]},{io_lib_pretty,cind_list,7,[{file,"io_lib_pretty.erl"},{line,696}]},{io_lib_pretty,cind_field,7,[{file,"io_lib_pretty.erl"},{line,672}]},{io_lib_pretty,cind_fields_tail,8,[{file,"io_lib_pretty.erl"},{line,656}]},{io_lib_pretty,cind_element,7,[{file,"io_lib_pretty.erl"},{line,726}]},{io_lib_pretty,cind_list,7,[{file,"io_lib_pretty.erl"},{line,696}]}]}}
相同的节在 ejabberd-17.03 上运行良好。
请在这里帮助我。