前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python测试dubbo接口

python测试dubbo接口

作者头像
py3study
发布2020-01-03 16:33:18
2.6K1
发布2020-01-03 16:33:18
举报
文章被收录于专栏:python3python3

本文主要介绍使用Python调用Hession协议dubbo接口示例。

关于Dubbo Hession协议:

Dubbo本身支持多种远程调用方式,例如Dubbo RPC(二进制序列化 + tcp协议)、http invoker(二进制序列化 + http协议)、hessian(二进制序列化 + http协议)、WebServices (文本序列化 + http协议)等。

Dubbo将这些协议的实现进行了封装了,无论是服务端(开发服务)还是客户端(调用服务),都不需要关心协议的细节,只需要在配置中指定使用的协议即可,从而保证了服务提供方与服务消费方之间的透明。

如果我们使用Dubbo的服务注册中心组件,这样服务提供方将服务发布到注册的中心,只是将服务的名称暴露给外部,而服务消费方只需要知道注册中心和服务提供方提供的服务名称,就能够透明地调用服务。

Python调用Hession协议接口基本流程如下:

1. 下载安装Python Hessian库,地址:https://github.com/theatlantic/python-hessian,或者pip install python-hessian进行安装

2. 定义Hession接口的服务、接口、方法名称

3. 使用protocol.object_factory方法,调用该方法参数构造方法,构造调用参数

4. 使用HessianProxy方法,调用接口

示例代码:

代码语言:javascript
复制
# -*- coding:utf-8 -*-
from pyhessian.client import HessianProxy
from pyhessian import protocol
import json
 
def InvokeHessian(service,interface,method,req,retcode='000000'):
    try:
        url='http://192.168.0.1:10883/'+service+'.'+interface
         
        print 'URL:\t%s'%url
        print 'Method:\t%s'%method
        print 'Req:\t%s'%req
        res=getattr(HessianProxy(url),method)(req)
        print 'Res:\t%s'%json.dumps(res,ensure_ascii=False)
         
    except Exception,e:
        print e
         
 
if __name__ == '__main__':
    service='com.service.common.api.service'
    interface='TestHessianService'
    method='testHessian'
    req=protocol.object_factory('com.service.common.api.service.model.req.TestHessianRequest',
                                param1='lovesoo',param2=10086)
     
    InvokeHessian(service, interface, method,req)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档