ejabberd版本:16.04
操作系统:CentOS 7
我按照此文档设置了xmlrpc支持,需要一些帮助才能配置访问控制: https://www.ejabberd.im/ejabberd_xmlrpc
我只是尝试按照示例设置简单配置: XML-RPC调用可以使用任何参数执行任何命令,并且不必提供任何身份验证信息。
这是我的配置文件.yml:
listen:
-
port: 4560
module: ejabberd_xmlrpc
maxsessions: 10
timeout: 5000
根据该文件,我不需要做任何其他事情。
这是我的客户端java代码:
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
URL url = new URL("http://myhost:4560/");
config.setServerURL(url);
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
String command = "status";
Map struct = new HashMap();
Object[] params = new Object[] { struct };
Object result = client.execute(command, params);
但是,我在客户端和服务器端日志中都出现了此错误:
2016-05-17 22:37:00.553 [warning] <0.498.0>@ejabberd_xmlrpc:build_fault_response:386 Error -118
A problem '{error,account_unprivileged}' occurred executing the command status with arguments
[]
我尝试在客户端配置调用中添加管理员用户名和密码,但仍然失败。
我想我错过了一些非常基本的东西。任何帮助表示赞赏。
- 森
答案 0 :(得分:1)
这项工作适合我:
-
port: 4560
module: ejabberd_xmlrpc
maxsessions: 10
timeout: 5000
access_commands: []
您必须将access_comands指定为空列表