Hello,
I'm running Ejabberd 2.1.3 and one issue I have at the moment is when I try to execute one particular "mod_muc_admin:get_room_affiliations()" operation via ejabberd_xmlrpc - pretty much all of my other operation cmds work except that one.
If I run the command via ejabberdctl, no problem at all and naturally the same with mod_rest.
Note that mod_muc_admin:get_room_occupants() runs fine via ejabberd_xmlrpc.
% erl -pa '/usr/lib/ejabberd/ebin/'
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:8:8] [rq:8] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
1> xmlrpc:call({127, 0, 0, 1}, 4560, "/", {call, get_room_occupants, [{struct, [{name, "blah"}, {service, "conference.mychatserver.com"}]}]}).
{ok,{response,[{struct,[{occupants,{array,[{struct,[{occupant,{array,[{struct,[{jid,"Bob@conference.mychatserver.com/Bob"}]},
{struct,[{nick,"Bob"}]},
{struct,[{role,"participant"}]}]}}]}]}}]}]}}
{ok,{response,[{struct,[{occupants,{array,[]}}]}]}}
2> xmlrpc:call({127, 0, 0, 1}, 4560, "/", {call, get_room_affiliations, [{struct, [{name, "blah"}, {service, "conference.mychatserver.com"}]}]}).
{error,"HTTP/1.1 500 Internal Server Error\r\n"}
3>
I did set extra logging and got this in ejabberd's log:
=INFO REPORT==== 2011-03-16 02:45:15 ===
D(<0.23353.6>:ejabberd_commands:314) : Executing command mod_muc_admin:get_room_affiliations with Args=["blah",
"conference.mychatserver.com"]
=ERROR REPORT==== 2011-03-16 02:45:15 ===
{xmlrpc_http,153,
{ejabberd_xmlrpc,handler,
{'EXIT',
{function_clause,
[{lists,flatten,[owner]},
{ejabberd_xmlrpc,format_result,2},
{lists,map,2},
{lists,map,2},
{ejabberd_xmlrpc,format_result,2},
{lists,map,2},
{ejabberd_xmlrpc,format_result,2},
{ejabberd_xmlrpc,do_command,6}]}}}}
My Ejabberd's config file does NOT have XMLRPC authentication turned on for these tests:
...
{4560, ejabberd_xmlrpc, []},
...
Any idea?
Thanks in advance
--Franky
Proposed change / fix from Badlop
(am still seeing the same issue though)
Still seeing the same issue depite Badlop's change in SVN
Has anyone been able to make it work?
Thanks
It is FIXED - sorry
I think I was badly reloading the beam file dynamically - I did restart the server and now it works...
Sorry for the confusion and thanks again for the fix Badlop.