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 で正常に動作します。
ここで私を助けてください。