2013-03-26 69 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