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

Вы должны вернуть #iq{} запись вместо ok атома из обработчика Iq. Давайте посмотрим, как ваш код будет более конкретным.

+0

send_message_delivery_ids (ResultFlags, от, до) -> \t XmlBody = {XmlElement, "IQ", [{ "ID", "aeb214"}, { "до", От}, { "тип", "чат "}], \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 { "MessageId", "DLORQ-22"}, { "Статус", "1"} \t \t \t \t \t \t], []}] – user2191560

+0

Вам не нужно направить результат iq самостоятельно. Вы должны вернуть его из обработчика iq в записи #iq {}. –

Смежные вопросы