Erlang ejabberd添加iq处理程序
我创造了一个智商管理者。调用它时,它会打印出这个错误Erlang ejabberd添加iq处理程序,erlang,ejabberd,Erlang,Ejabberd,我创造了一个智商管理者。调用它时,它会打印出这个错误 {function_clause,[{jlib,iq_to_xml,[ok]}, {gen_iq_handler,process_iq,6}, {gen_iq_handler,handle_info,2}, {gen_server,handle_msg,5}, {proc_li
{function_clause,[{jlib,iq_to_xml,[ok]},
{gen_iq_handler,process_iq,6},
{gen_iq_handler,handle_info,2},
{gen_server,handle_msg,5},
{proc_lib,init_p_do_apply,3}]}
您应该从iq处理程序返回
#iq{}
记录,而不是ok
atom。让我们看看您的代码是否更具体。您应该从iq处理程序返回#iq{}
记录,而不是ok
atom。让我们看看您的代码是否更具体。send_message_delivery_id(ResultFlags,From,to)->XmlBody={xmlement,“iq”,“id”,“aeb214”},{“to”,From},{type”,“chat”},{xmlement,“result”,[{“xmlns”,“urn xmpp:requestdelivery”}],ResultFlags}],ejabberd_路由器:路由(From,to,XmlBody)。其中ResultFlags=[{xmlement,“deliverystatus”,“[{“messageid”,“DLORQ-22”},{“status”,“1”}],]}]您不需要自己路由结果iq。您应该从#iq{}中的iq处理程序返回它record.send_message_delivery_id(ResultFlags,From,To)->XmlBody={xmlement,“iq”,[{“id”,“aeb214”},{“To”,From},{“type”,“chat”}],{xmlement,“result”,[{“xmlns”,“urn:xmpp:requestdelivery”}],ResultFlags}],ejabberd_路由器:路由(From,To,XmlBody)。其中ResultFlags=[{xmlement,“deliverystatus”[{“messageid”、“DLORQ-22”}、{“status”、“1”}、]}]您不需要自己路由结果iq。您应该从#iq{}记录中的iq处理程序返回结果iq。