2016-04-07 81 views
0

我,我已经更新ejabberd从16.01至16.03后,不进行编译,我有我的模块有问题,更新之前这行代码Ejabberd模块更新

Type = Packet#xmlel.attrs, 
    io:format("types:~p~n" , [Type]), 
    %Get raw data of message 
    Message   = xml:element_to_binary(Packet). 

工作得很好,现在更新后,产生这种:

types:[{<<"type">>,<<"chat">>}, {<<"to">>,<<"[email protected]frind.it">>}, 
     {<<"from">>,<<"[email protected]">>}] 

16:57:13.393 [error] 
{undef, 
    [{xml,element_to_binary, 
    [{xmlel,<<"message">>, 
     [{<<"type">>,<<"chat">>}, 
     {<<"to">>,<<"[email protected]">>}, 
     {<<"from">>,<<"[email protected]">>}], 
     [{xmlel,<<"composing">>, 
     [{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}], 
     []}]}], []}, 
    {ejabberd_hooks,safe_apply,3, 
    [{file,"src/ejabberd_hooks.erl"},{line,382}]}, 
    {ejabberd_hooks,run1,3, 
    [{file,"src/ejabberd_hooks.erl"},{line,329}]}, 
    {ejabberd_sm,route,3, 
    [{file,"src/ejabberd_sm.erl"},{line,114}]}, 
    {ejabberd_local,route,3, 
    [{file,"src/ejabberd_local.erl"},{line,112}]}, 
    {ejabberd_router,route,3, 
    [{file,"src/ejabberd_router.erl"},{line,77}]}, 
    {ejabberd_c2s,check_privacy_route,5, 
    [{file,"src/ejabberd_c2s.erl"},{line,2110}]}, 
    {ejabberd_c2s,session_established2,2, 
    [{file,"src/ejabberd_c2s.erl"},{line,1271}]}]} 

running hook: 
{offline_message_hook, 
    [{jid,<<"121">>,<<"node0.frind.it">>, 
    <<"97395769126380428951460048231139020">>,<<"121">>, 
    <<"node0.frind.it">>, 
    <<"97395769126380428951460048231139020">>}, 
    {jid,<<"154">>,<<"node0.frind.it">>,<<>>,<<"154">>, 
    <<"node0.frind.it">>,<<>>}, 
    {xmlel,<<"message">>, 
    [{<<"type">>,<<"chat">>}, 
     {<<"to">>,<<"[email protected]">>}, 
     {<<"from">>,<<"[email protected]">>}], 
    [{xmlel,<<"composing">>, 
    [{<<"xmlns">>,<<"http://jabber.org/protocol/chatstates">>}],[]}]} 
]} 

任何人都可以帮助我吗?

+0

看起来像'xml:element_to_binary'不存在,或者它不接受'Packet'作为它的参数。 – Amiramix

回答

2

最新ejabberd搬到图书馆fast_xml。使用fxml模块而不是xml