xmlrpc客户端的用户认证
xmlrpc作为客户端调用ofbiz的服务的做法已经说过了,刚才突然想到另外一个问题,如果这个服务需要授权怎么办呢?在soap中,我们是增加了login.username和login.password两个参数,xmlrpc这里怎么处理呢?
还是从源代码入手,我们看XmlRpcEventHandler.java,有如下一段代码
- // add in auth parameters
- XmlRpcHttpRequestConfig config = (XmlRpcHttpRequestConfig) xmlRpcReq.getConfig();
- String username = config.getBasicUserName();
- String password = config.getBasicPassword();
- if (UtilValidate.isNotEmpty(username)) {
- context.put("login.username", username);
- context.put("login.password", password);
- }
原来xmlrpc调用时的用户名和密码是放在BasicUserName和BasicPassword里面的,这两个东东是xmlrpc加密后放在Http协议的头部的,我们把客户端的程序进行修改,在得到config之后,增加下面的代码
- config.setBasicPassword("ofbiz");
- config.setBasicUserName("admin");