【Odoo】XML_RPC访问Odoo数据库

在此需要引用一些包

xmlrpc-common-3.1.3.jar, xmlrpc-client-3.1.3.jar和ws-commons-util-1.0.2.jar

连接如下:

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
XmlRpcClient client = new XmlRpcClient();
config.setServerURL(new URL(String.format("%s/xmlrpc/2/object", URL)));//访问服务器路径
client.setConfig(config);
下面是常用操作:

1、添加

/**  * DB 数据库  * USERID 帐号对应ID  * PASS 密码  *  */ Integer id = (Integer) client.execute(
        "execute_kw", Arrays.asList(
                DB, USERID, PASS, "res.partner", "create",
                Arrays.asList(new HashMap() {
                    {
                        put("name", "应云超");
                        put("customer", Boolean.TRUE);
                    }
                })));
2修改

client.execute("execute_kw", Arrays.asList(
DB, USERID, PASS,
        "res.partner", "write",
        Arrays.asList(
        Arrays.asList(id),
        new HashMap() {{ put("name", "超"); }}
)
        ));
3.查找

/**  * partner 获取客户  */ 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]);
}
4.删除

client.execute("execute_kw", Arrays.asList(
DB, USERID, PASS,
        "res.partner", "unlink",
        Arrays.asList(Arrays.asList(id))));
以上即是简单操作介绍

你可能感兴趣的:(【Odoo】XML_RPC访问Odoo数据库)