Odoo(OpenERP)服務器支持通過XML-RPC接口訪問、操作數據庫,基於此可實現與其他系統的交互與集成。
本文是使用Java通過XMLRPC接口操作Odoo數據庫的簡單示例。本例引用的jar包包括xmlrpc-common-3.1.3.jar, xmlrpc-client-3.1.3.jar和ws-commons-util-1.0.2.jar,如需要,可點擊這裡下載。
package memo.by.weichen; import java.net.URL; 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; /** * * 通過XML-RPC接口訪問Odoo數據庫 * Test@Odoo 8.0 * by WeiChen * */ public class OdooWSDemo { public static final String URL = http://127.0.0.1:8069; public static final String DB = demo; public static final int USERID = 1; public static final String PASS = demo; public static void main(String[] args) throws Exception{ XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); XmlRpcClient client = new XmlRpcClient(); config.setServerURL(new URL(String.format(%s/xmlrpc/2/object, URL))); client.setConfig(config); // 新建客戶 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); } }))); // 更新客戶 client.execute(execute_kw, Arrays.asList( DB, USERID, PASS, res.partner, write, Arrays.asList( Arrays.asList(id), new HashMap() {{ put(name, 永旺夢樂城蘇州園區店); }} ) )); // 查找客戶 List