ejabberd 添加 iq 处理程序
Posted
技术标签:
【中文标题】ejabberd 添加 iq 处理程序【英文标题】:ejabberd add iq handler 【发布时间】:2013-03-26 13:47:15 【问题描述】:我创建了一个 iq 处理程序。调用它时,它会打印出这个错误
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】:您应该从 iq 处理程序返回 #iq
记录而不是 ok
原子。让我们看看您的代码更具体。
【讨论】:
send_message_delivery_ids(ResultFlags, From, To) -> XmlBody = xmlelement, "iq",["id","aeb214","to", From ,"type" ,"chat"], [ xmlelement, "result", ["xmlns","urn:xmpp:requestdelivery"], ResultFlags ] , ejabberd_router:route(From, To, XmlBody)。其中 ResultFlags = [ [xmlelement, "deliverystatus", [ "messageid","DLORQ-22", "status","1" ], []] 您不需要自己路由结果 iq。您应该从 #iq 记录中的 iq 处理程序返回它。以上是关于ejabberd 添加 iq 处理程序的主要内容,如果未能解决你的问题,请参考以下文章
XMPP:Ejabberd 未将具有命名空间前缀的自定义 IQ 转发给用户