ofbiz的服务(service)export成web service的方法(6)

xmlrpc客户端的用户认证

xmlrpc作为客户端调用ofbiz的服务的做法已经说过了,刚才突然想到另外一个问题,如果这个服务需要授权怎么办呢?在soap中,我们是增加了login.username和login.password两个参数,xmlrpc这里怎么处理呢?

还是从源代码入手,我们看XmlRpcEventHandler.java,有如下一段代码
  1.             // add in auth parameters
  2.             XmlRpcHttpRequestConfig config = (XmlRpcHttpRequestConfig) xmlRpcReq.getConfig();
  3.             String username = config.getBasicUserName();
  4.             String password = config.getBasicPassword();
  5.             if (UtilValidate.isNotEmpty(username)) {
  6.                 context.put("login.username", username);
  7.                 context.put("login.password", password);
  8.             }

原来xmlrpc调用时的用户名和密码是放在BasicUserName和BasicPassword里面的,这两个东东是xmlrpc加密后放在Http协议的头部的,我们把客户端的程序进行修改,在得到config之后,增加下面的代码

  1. config.setBasicPassword("ofbiz");
  2. config.setBasicUserName("admin");
这样就行了,试试吧

你可能感兴趣的:(Web,SOAP)