【问题标题】:org.apache.xmlrpc.XmlRpcException: Error -118 {error,access_rules_unauthorized}org.apache.xmlrpc.XmlRpcException: 错误 -118 {error,access_rules_unauthorized}
【发布时间】:2019-03-19 19:16:24
【问题描述】:

我正在尝试通过 XML-RPC 客户端在 ejabberd 中获取 get_roster 的响应,但我使用的是 ejabberd 18.9 版本,它向我显示此错误:

org.apache.xmlrpc.XmlRpcException: Error -118 有问题 执行命令时发生“{error,access_rules_unauthorized}” 带参数的 get_roster [{用户,>},{服务器,>}]

有人可以建议我如何解决这个问题吗?

这是我的 java 客户端代码:

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
  config.setServerURL(new URL("http://localhost:4560"));
  XmlRpcClient client = new XmlRpcClient();
  client.setConfig(config);
  Hashtable<String, Object> params = new Hashtable<String, Object>();
  params.put("user", new String("admin"));
  params.put("server", new String("localhost"));
  List<Object> roster_params = new ArrayList<Object>();
  roster_params.add(params);

  Object result = client.execute("get_roster", roster_params);
  System.out.println("Result: " + result); 

【问题讨论】:

    标签: ejabberd ejabberd-module ejabberd-api


    【解决方案1】:

    可能您已将 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
    

    【讨论】:

      【解决方案2】:

      问题现已解决,ejabberd.yml 文件存在一些问题。 我在配置文件中删除它后启用了 outh 配置,现在这个代码可以工作了......

      端口:5280 ip: "::" 模块:ejabberd_http 请求处理程序: "/ws": ejabberd_http_ws "/bosh": mod_bosh "/api": mod_http_api

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-22
        • 1970-01-01
        相关资源
        最近更新 更多