无法从ejabberd服务器15.09路由自定义数据包

时间:2015-10-08 11:41:43

标签: function erlang ejabberd

我正在使用ejabberd 15.09并尝试创建一个模块来发送确认消息以换取收到的消息,我在路由此数据包时收到错误。

错误日志:

  

2015-10-08 11:10:57.333 [错误]< 0.437.0> @ejabberd_sm:路线:118   {function_clause,[{ejabberd_sm,do_route,[{JID,<< “1234567890” >>,<< “x.xyz.com” >>,<< “asdfgfd23f4” > >,<< “1234567890” >>,<< “x.xyz.com” >>,<< “asdfgfd23f4” >>},{JID,<&LT ; “0987654321” >>,<< “x.xyz.com” >>,<< “Bruno.7B81FB19” >>,<< “0987654321” >> ,<< “x.xyz.com” >>,<< “Bruno.7B81FB19” >>},{XMLELEMENT, “消息”,[{ “ID”,<<” abc4a “>>},{” 类型”, “Ack_receipt”},{ “从”,<< “1234567890@x.xyz.com/asdfgfd23f4” >>},{ “到”,&LT ;< “0987654321@x.xyz.com/Bruno.7B81FB19” >>}],[{XMLELEMENT, “身体”,[],[{xmlcdata,<<“ACK   消息 “>>}]}]}],[{文件,” SRC / ejabberd_sm.erl “},{线,424}]},{ejabberd_sm,路线,3,[{文件,” SRC / ejabberd_sm。 ERL “},{线,116}]},{ejabberd_local,路线,3,[{文件,” SRC / ejabberd_local.erl“},{线,112}]},{ejabberd_router,路线,3,[{文件“SRC / ejabberd_router.erl”},{线,75}]},{mod_ack,log_packet,3,[{文件, “SRC / mod_ack.erl”},{线,32}]},{mod_ack,on_user_send_packet ,4,[{文件, “SRC / mod_ack.erl”},{线,28}]},{ejabberd_hooks,safe_apply,3,[{文件, “SRC / ejabberd_hooks.erl”},{线,385}] },{ejabberd_hooks,run_fold1,4,[{文件, “SRC / ejabberd_hooks.erl”},{线,368}]}]}

     

处理时:   {{JID,<< “1234567890” >>,<< “x.xyz.com” >>,<< “asdfgfd23f4” >>,<<“1234567890 “>>,<<” x.xyz.com “>>,<<” asdfgfd23f4 “>>},{JID,<<” 0987654321" >>中<< “x.xyz.com” >>,<< “Bruno.7B81FB19” >>,<< “0987654321” >>,<<“x.xyz .COM “>>,<<” Bruno.7B81FB19 “>>},{XMLELEMENT,” 消息”,[{ “ID”,<< “abc4a” >>},{ “类型”, “Ack_receipt”},{ “从”,<< “1234567890@x.xyz.com/asdfgfd23f4” >>},{ “到”,<<“0987654321@x.xyz的.com / Bruno.7B81FB19 “>>}],[{XMLELEMENT,” 身体 “[],[{xmlcdata,<<” ACK   消息“>>}]}]}}

1 个答案:

答案 0 :(得分:2)

您正在格式化xmlelement记录。这种格式已经过时了。最新ejabberd上的数据包记录是xmlel条记录。您需要更新代码以支持新格式。

此处描述了记录格式:https://github.com/processone/xml/blob/master/include/xml.hrl

相关问题