Odoo Web服务暴露出相关的服务,路由分别是

/xmlrpc/

/xmlrpc/2/

/jsonrpc

根据 services 调用 后端对应服务的 方法method 【定义 openerp\http.py 之 dispatch_rpc()】,然后再将结果从python dict 转换为 xml-rpc 格式 或者 json-rpc 返回

service 对应的后端服务分别是

common, openerp.service.common

db,openerp.service.db

object , openerp.service.model

report, openerp.service.report

各服务提供的方法如下

service

method

说明

common

login

authenticate

version

about

set_loglevel

db

create_database

duplicate_database

drop

dump

restore

rename

change_admin_password

migrate_database

db_exist

list

list_lang

list_countries

server_version

object

execute

execute_kw

execute_workflow

report

report

report_get

render_report

实现自己的方法时,要按照约定,以 'exp_' 开头。

XML-RPC接口调用

#在 note.note 模型创建新纪录

import xmlrpclib

root = 'http://%s:%d/xmlrpc/' % (HOST, PORT)

uid = xmlrpclib.ServerProxy(root + 'common').login(DB, USER, PASS) # common是服务,login 是方法

print "Logged in as %s (uid: %d)" % (USER, uid)

# Create a new note

sock = xmlrpclib.ServerProxy(root + 'object')

args = {

'color' : 8,

'memo' : 'This is a note',

'create_uid': uid,

}

note_id = sock.execute(DB, uid, PASS, 'note.note', 'create', args) #调用服务'object'的方法 execute(),传入的参数为 (DB, uid, PASS, 'note.note', 'create', args)

JSON-RPC接口调用

#在 note.note 模型创建新纪录

import jsonrpclib

# server proxy object

url = "http://%s:%s/jsonrpc" % (HOST, PORT)

server = jsonrpclib.Server(url)

# log in the given database

uid = server.call(service="common", method="login", args=[DB, USER, PASS]) #调用服务'common'的方法 login()

# helper function for invoking model methods

def invoke(model, method, *args):

args = [DB, uid, PASS, model, method] + list(args)

return server.call(service="object", method="execute", args=args) #调用服务'object'的方法 execute()

# create a new note

args = {

'color' : 8,

'memo' : 'This is another note',

'create_uid': uid,

}

note_id = invoke('note.note', 'create', args) #传入参数

其他

同时odoo Web 还为 odoo web client 提供了 大量的 json-rpc接口。例如数据集提供的服务如下, 定义在 class DataSet(http.Controller) [ addons\web\controllers\main.py ]。

routing

说明

/web/dataset/search_read

/web/dataset/load

/web/dataset/call

/web/dataset/call_kw

/web/dataset/call_buttion

/web/dataset/exec_workflow

/web/dataset/resequence

webclient 在调用 工作流时,直接 调用 rpc服务

/**

* Executes a signal on the designated workflow, on the bound OpenERP model

*

* @param {Number} id workflow identifier

* @param {String} signal signal to trigger on the workflow

*/

exec_workflow: function (id, signal) {

return session.rpc('/web/dataset/exec_workflow', {

model: this.name,

id: id,

signal: signal

});

},

转载注明原作者 /by Jeffery

【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

【转】【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

[转][完全开源]百度地图Web service API C#.NET版,带地图显示控件.导航控件.POI查找控件 目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET ...

VMware 虚拟化编程(3) —VMware vSphere Web Service API 解析

目录 目录 前文列表 VMware vSphere Web Services API VMware vSphere Web Services SDK vSphere WS API 中的托管对象 Man ...

使用Web Service进行网络编程-----Web Service简介

Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发.运行一些单用户.小型应用是可能的,但对于需要进行大量的数据处理 ...

REST和SOAP Web Service的区别比较

本文转载自他人的博客,ArcGIS Server 推出了 对 SOAP 和 REST两种接口(用接口类型也许并不准确)类型的支持,本文非常清晰的比较了SOAP和Rest的区别联系! / ...

微软BI 之SSIS 系列 - 在 SSIS 中使用 Web Service 以及 XML 解析

开篇介绍 Web Service 的用途非常广几乎无处不在,像各大门户网站上的天气预报使用到的第三方 Web Service API,像手机客户端和服务器端的交互等都可以通过事先设计好的 Web Se ...

WCF、Web API、WCF REST、Web Service比较

odoo系统的web服务器,Odoo Web Service API相关推荐

  1. web服务器、Web中间件和Web容器的区别

    目录 Web服务器 中间件 容器 总结 Web开发的选择 我们经常会被Web服务器.Web容器和Web中间件这三个概念搞混.因为我们常见的很多网站要么是由IIS搭建,要么是由Apache.Tomcat ...

  2. web服务器,web中间件,web容器的区别

    web服务器,中间件,web容器 web服务器 中间件 web容器 结论 前言:才学习的时候,就听过大名鼎鼎的web服务器,apache,iis,tomcat,后面进一步学习的时候,发现有个web中间 ...

  3. web浏览器与网站服务器,web服务器和web浏览器

    web服务器和web浏览器 内容精选 换一换 当您需要实现网站HTTPS化,并监控HTTPS业务流量,识别并阻断SQL注入.CC攻击等攻击,保护Web服务安全稳定时,本文档指导您如何实现网站HTTPS ...

  4. 【githubshare】可对 Web 容器、Web 服务器、Web 中间件以及 CMS 等 Web 程序进行漏洞扫描的软件

    GitHub 上一款开源的漏洞扫描工具:Vulmap,可对 Web 容器.Web 服务器.Web 中间件以及 CMS 等 Web 程序进行漏洞扫描,并且具备漏洞利用功能. 相关测试人员可以使用 vul ...

  5. web服务器和web应用服务器的区别

    首先,web服务器和web应用服务器不是同一个概念.起初,我也把两者混为一谈.现在说说自己对这两个的理解,如有不对之处,欢迎指出. web应用服务器 在java web开发时,最早接触的web服务器是 ...

  6. Web服务器,Web容器和应用服务器的区别

    转载自http://www.2cto.com/os/201504/395183.html 1.什么是服务器? 2.Web服务器,Web容器和应用服务器的区别? 3.Apache和Tomcat的区别? ...

  7. 显示web服务器登陆,web服务器登陆界面

    web服务器登陆界面 内容精选 换一换 云解析服务支持为域名快速添加网站解析,通过该功能可以简化解析记录的配置,包含如下两种场景:网站解析至IP地址:为域名的主域名和子域名分别添加一条A类型记录集网站 ...

  8. web服务器、Web中间件和Web容器的区别(转载)

    目录 查看全文 http://www.taodudu.cc/news/show-4922474.html 相关文章: Web 中间件漏洞 WEB常见中间件漏洞原理 Java Web中间件 Web中间件 ...

  9. 文件web服务器搭建,Web服务器的构建和配置

    利用windows server2003中iis构建web服务器的几种方法.下面是学习啦小编跟大家分享的是Web 服务器的构建和配置,欢迎大家来阅读学习. Web 服务器的构建和配置 工具/原料 wi ...

最新文章

  1. 从SAE又回到BAE,感觉好轻松
  2. Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
  3. Java 7中的Try-with-resources
  4. vector删除数据时有什么需要注意的吗 ?
  5. mikadonic-iptables学习笔记
  6. MS SQL 2000 分配权限
  7. activeMQ发送与接受消息模板代码
  8. windows 8.1 IE11 和 windows 10 Edge IE11 FlashPlayer 的安装与卸载
  9. [SAP HANA]Data Provisioning is not configured. Contact the system administrator
  10. 【写作技巧】毕业论文写作资料--刊物搜索
  11. MySQL中的if和case语句使用总结
  12. H5手机转盘抽奖活动游戏页面源码
  13. Modelsim下载 安装 与 和谐教程
  14. LaTeX 学位论文排版 章节目录设置
  15. Qt实现YOLO目标检测及其界面制作
  16. ERP: ERP系统的作用
  17. 循序渐进Linux目录
  18. 写一个商品类Goods,属性有商品编号,商品名称,商品价格和上架时间。
  19. 区块链为什么叫区块链_什么是区块链?
  20. matlab:栅格地图转化为邻接矩阵

热门文章

  1. 共赴冰雪之约 重塑股份首席专家工程师翟双博士参与冬奥火炬传递
  2. 高德地图自定义标记点marker缩放偏移问题
  3. java前端传值,后端接收值为null
  4. 求解二叉树高度的方法(C++实现)
  5. mysql 最大连接池数_mysql 最大连接数 连接池
  6. CSS3立体盒子的制作
  7. 综合网络(华为ensp)
  8. 什么是异或_异或运算及异或运算的作用
  9. 图数据结构之邻接链表Adjacency List(Python版)
  10. 解决QT工具栏字体变大的问题