2013-03-26 71 views
1

我已经创建了一个iq处理函数。当调用它,它打印我这个错误ejabberd add iq handler

{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}]} 

回答

1

你应该从你的智商处理程序返回,而不是ok原子#iq{}记录。让我们看看你的代码更具体。

+0

send_message_delivery_ids(ResultFlags,From,To) - > \t XmlBody = {xmlelement,“iq”,[{“id”,“aeb214”},{“to”,From},{“type”,“chat “}], \t \t \t \t \t [ \t \t \t \t \t \t {XMLELEMENT, ”结果“,[{” 的xmlns”, “瓮:XMPP协议:requestdelivery”}],ResultFlags} \t \t \t \t \t] \t \t \t}, \t ejabberd_router:route(From,To,XmlBody)。 凡ResultFlags = [[{XMLELEMENT, “deliverystatus”, [ \t \t \t \t \t \t \t { “邮件ID”, “DLORQ-22”}, { “状态”, “1”} \t \t \t \t \t \t], []}] – user2191560 2013-03-28 12:05:21

+0

您不需要自行路由结果iq。您应该从#iq {}记录中的iq处理程序中将其返回。 – 2013-03-28 16:26:23