ejabberd - 自定义iq处理程序

时间:2017-01-06 13:14:36

标签: xmpp ejabberd

我创建了简单的模块。这是代码

dateString = "12-07-2006";
var parts = dateString.split('-');
//please put attention to the month (parts[0]), Javascript counts months from 0:
// January - 0, February - 1, etc

// parts[0] = 12 and represents the day
// parts[1] = 7 and represents the month
// parts[2] = 2006 and represents the year
var mydate = new Date(parts[2],parts[1]-1,parts[0]);

当我使用strophe.js -module(mod_conversations). -behaviour(gen_mod). -export([start/2, stop/1, process_local_iq/3]). -include("ejabberd.hrl"). -include("logger.hrl"). -include("jlib.hrl"). -define(IQ_CUSTOM, <<"jabber:iq:conversations">>). start(Host, _) -> gen_iq_handler:add_iq_handler(ejabberd_local, Host, ?IQ_CUSTOM, ?MODULE, process_local_iq, one_queue), ok. stop(Host) -> gen_iq_handler:remove_iq_handler(ejabberd_local, Host, ?IQ_CUSTOM), ok. process_local_iq(From,_ ,IQ) -> IQ#iq{type = result, sub_el = [{xmlelement, <<"value">>, [], [{xmlcdata, <<"Testing...">>}]}]}.

发出请求时

服务器断开了我。我试图找到simillar问题,但其中一些问题更多。请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

在最近的ejabberd版本中,您不能使用xmlelement元组,正确的代码应如下所示:

IQ#iq{type = result,
      sub_el = [#xmlel{name = <<"value">>,
                       children = [{xmlcdata, <<"Testing...">>}]}]}.