详细代码如下:
package com.ccb.ccberp.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
public class XmlRpcDemo {
public static final String URL = "http://localhost:8069";
public static final String DB = "demo1";
public static final int UID = 1;
public static final String PASSWORD = "admin";
public static final String USERNAME = "admin";
public static void main(String[] args) throws Exception{
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new java.net.URL(String.format("%s/xmlrpc/2/object", URL)));
// int uid = (int)client.execute(
// config, "authenticate", Arrays.asList(
// DB, USERNAME, PASSWORD, Arrays.asList(new HashMap())));
final XmlRpcClient client = new XmlRpcClient() {{
setConfig(new XmlRpcClientConfigImpl() {{
setServerURL(new java.net.URL(String.format("%s/xmlrpc/2/object", URL)));
}});
}};
client.execute("execute_kw", Arrays.asList(
DB, UID, PASSWORD,
"res.partner", "check_access_rights",
Arrays.asList("read"),
new HashMap() {{ put("raise_exception", false); }}
));
List list = Arrays.asList((Object[])client.execute("execute_kw", Arrays.asList(
DB, UID, PASSWORD,
"res.partner", "search",
Arrays.asList(Arrays.asList(
// Arrays.asList("is_company", "=", true),
Arrays.asList("customer", "=", true)))
)));
System.out.println(list.size());
// client.execute("execute_kw", Arrays.asList(
// DB, USERID, PASSWORD,
// "res.partner", "write",
// Arrays.asList(
// Arrays.asList(id),
// new HashMap() {{ put("name", "永旺梦乐城苏州园区店"); }}
// )
// ));
// // 查找客户
// List<Object> partners = Arrays.asList((Object[])client.execute("execute_kw", Arrays.asList(
// DB, USERID, PASS,
// "res.partner", "name_get",
// Arrays.asList(Arrays.asList(id))
// )));
// if(partners!=null&&partners.size()>0){// partners格式: [[id, name]]
// Object[] partner = (Object[])partners.get(0);
// if(partner.length==2)
// System.out.println("客户名: "+partner[1]);
// }
// // 删除客户
// client.execute("execute_kw", Arrays.asList(
// DB, USERID, PASS,
// "res.partner", "unlink",
// Arrays.asList(Arrays.asList(id))));
//
// // 客户列表
// List<Object> list = Arrays.asList((Object[]) client.execute(
// "execute_kw", Arrays.asList(
// DB, USERID, PASS, "res.partner", "search_read",
// Arrays.asList(Arrays.asList(
// // 设置查询条件
// Arrays.asList("is_company", "=", true),
// Arrays.asList("customer", "=", true))
// )
// )));
//
// System.out.println("**********客户列表**********");
// for (int i=0;i<list.size();i++){
// Map customer = (Map)list.get(i);
// String name = (String)customer.get("name");
// System.out.println(name);
// }
// System.out.println("****************************");
}
}