0

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’&gt;</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’/>&gt;<abc>50</abc>&gt;<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 で正常に動作します。

ここで私を助けてください。

4

0 に答える 0