首先需要下载安装好ejabberd,ejabberd的安装我就先不说了.因为我也不是很清楚额..嗯....说下我在开发ejabberd中遇到的几个问题吧.
[1].安装好后不能注册 ejabberd 配置问题,如果用的是 ejabberd 15.07, 如下操作:1. 找到:/ejabberd-15.07/conf/ejabberd.yml 文件,2. 修改ejabberd.yml 文件中: ## To disable in-band registration, replace 'allow' with 'deny'. register: all: allow ## 注册权限打开 ## Only allow to register from localhost trusted_network: all: allow ## loopback: allow ## Do not establish S2S connections with bad servers ## s2s: ## bad_servers: deny ## all: allow 3. 重新启动 ejabberd 服务器 ,就解决了不是这个版本服务器的话,就按这个原理 修改相应权限就OK了安装好ejabberd 后,可以下载这个客户端进行相关的测试,
下载链接:http://download.csdn.net/detail/u012930316/9755494
=====================================================
好...下面进入这次java使用xmpPRpc结合ejabberd的开发.
首先ejabberd安装配置好后.接的打开这个:
- port: 4560 module: ejabberd_xmlrpc access_commands: {}也就是说在ejabberd的配置文件ejabberd.yml 里面的listen: 下面增加这个...至于端口号随便取.听说这里还可以配置个权限保证安全..目前我还不知道怎么弄...好了,在配置好这个之后就可以开发java这边了.
这里首先是要导入jar包.我这里使用maven进行管理.
<dependency> <groupId>org.apache.xmlrpc</groupId> <artifactId>xmlrpc-client</artifactId> <version>3.1.3</version> </dependency>导入完jar包后可以写段代码测试下了.下面直接贴代码:public static void main(String[] args) throws XmlRpcException, MalformedURLException { try { XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); config.setServerURL(new URL("http://ip:4560/RPC2"));// 你的ejabberd地址 XmlRpcClient client = new XmlRpcClient(); client.setConfig(config); /* Command string */ String command = "check_passWord"; command = "change_password"; /* Parameters as struct */ Map<String ,String> struct = new HashMap<String ,String>();// struct.put("user", "456");// struct.put("host", "local");// struct.put("password", "123456"); // Object execute = client.execute(command, params); // 修改密码 struct.put("user", new String("456")); struct.put("host", new String("local"));// 这里是你配置的虚拟域名 struct. put("newpass", "123"); Object[] params = new Object[]{struct};// 修改密码的操作.Object execute = client.execute(command, params); System.out.println(execute);// 结果信息 } catch (Exception e) { System.out.println(e); } }我参考资料的地址:https://docs.ejabberd.im/developer/ejabberd-api/admin-api/全是英文的,而且不是很全..说的也不是很详细,还是靠自己试出来的.....
新闻热点
疑难解答