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. Nessus 4.4 windows and linux 安装手册
  2. Jenkins Pipeline动态使用Git分支名称的技巧
  3. Metal之加载TGA与PNG/JPEG纹理图片
  4. CTF入门--请输入密码
  5. valid Palindrome -- leetcode
  6. 【知识分享】异步调用与多线程的区别
  7. 记录对String.format(Formatter().format())方法的总结
  8. for循环与each遍历的跳出循环方式
  9. acill排序 java_Map集合按照ASCII码从小到大(字典序)排序--JAVA
  10. STM32:UART中的硬件流控RTS与CTS
  11. GIT可视化工具 代码上传工具
  12. 关于win10更新的坑,头一次【这台电脑无法运行Windows10,我们无法跟新系统保留的部分】
  13. 在校招中,应届生们如何写出简洁的 Android 开发简历,减少被刷的机率
  14. composer入门教程
  15. 我是如何投资数字货币的(1.2版)
  16. FTP建议使用教程——以Xftp7为例
  17. 【网络原理7】认识HTTP
  18. ps aux | grep 进程
  19. 从0.1加0.2不等于0.3谈Python浮点数的前世今生
  20. FPGA图像处理_OTSU算法的实现(含源码)

热门文章

  1. 魔性,用Python实现火爆全网的「蚂蚁呀嘿」视频特效!
  2. Android发布APP,IOS发布APP注意事项
  3. 熵、信息熵、互信息、条件熵区别
  4. 现实迷途 第二十三章 火辣夏日
  5. 吉首大学计算机科学与技术怎么样,吉首大学是几本 学生评价怎么样好不好(10条)...
  6. 可以预防耳鸣的两大穴位大家一定要知道
  7. Mybatis注解方式@Insert
  8. Vue07---vue中的css动画原理及animate.css使用
  9. linux下磁盘分区和逻辑卷管理
  10. 注销共享服务器登录,登录和注销 - Power BI | Microsoft Docs