Возможно, вы настроили ejabberd таким образом, что вы должны предоставить данные аутентификации учетной записи с правами администратора.В этом примере, написанном на python, см. Структуру LOGIN.Извините, я не знаю, как это делается в Java.
import xmlrpclib
server_url = 'http://127.0.0.1:4560'
server = xmlrpclib.ServerProxy(server_url)
LOGIN = {'user': 'admin', 'server': 'localhost', 'password': 'mypass11', 'admin': True}
def calling(command, data):
fn = getattr(server, command)
return fn(LOGIN, data)
print ""
print "Calling with auth details:"
result = calling('get_roster', {'user':'user1', 'server':'localhost'})
print result