python+spyne+django创建webservice客户端并调用

您所在的位置:网站首页 生成webservice客户端 python+spyne+django创建webservice客户端并调用

python+spyne+django创建webservice客户端并调用

2023-07-20 15:48| 来源: 网络整理| 查看: 265

1.什么是webservice?

https://www.jianshu.com/p/5bb727b434e6

2.python如何生成webservice客户端?

spyne官网 http://spyne.io/#inprot=HttpRpc&outprot=JsonDocument&s=rpc&tpt=WsgiApplication&validator=true

使用dajngo+spyne创建客户端:

# view from django.views.decorators.csrf import csrf_exempt from spyne import Application, rpc, ServiceBase, Unicode from spyne.protocol.soap import Soap11, Soap12 from spyne.server.django import DjangoApplication TNS = "http://adc.siinterface.com/" # 暂时没有发现有任何实质性作用 # 定义一个class类用于之后渲染至django的url class SIInterfaceForADC(ServiceBase): # rpc 为装饰器用于接收参数 _returns 之前的为接收参数,可以为多个, _returns = 返回参数 @rpc(Unicode,Unicode, _returns=Unicode) # 函数方法,request为接收的参数,如果@rpc中为多个,request也相对应为多个 def addUserInfo(self, request,request1): # 代码逻辑 return 'addUserInfo' @rpc(Unicode, _returns=Unicode) def delUser(self, request): return 'delUser' @rpc(Unicode, _returns=Unicode) def modifyUserInfo(self, request): return 'modifyUserInfo' """ Application = spyne内置函数,用于将上面定义的类分发起来 SIInterfaceForADC = 定义的类 tns = 代码头定义的tns(暂时没发现实质性作用) name = 给该类命名 in_protocol = 输入的数据 Soap12 = soap协议,可以为Soap11 validator = 数据类型(一般为lxml) out_protocol = 输出的数据 """ application = Application([SIInterfaceForADC],tns=TNS, name="SIInterfaceForADC", in_protocol=Soap12(validator='lxml'), out_protocol=Soap12()) # si_service_app = 将spyne渲染至django的url si_service_app = csrf_exempt(DjangoApplication(application)) # url from django.conf.urls import url from django.contrib import admin import views urlpatterns = [ # si_service_app 为views对应的分发数据 url(r'^information/', views.si_service_app), ]

启动djgnao之后可以进行查看 url之后需要添加/?wsdl 在这里插入图片描述 使用suds进行webservice接口测试

from suds.client import Client # 传入的数据 add_xml = 'haha' # 链接该webservice地址 client = Client("http://127.0.0.1:8000/information/?wsdl") # addUserInfo = 客户端内定义的函数 result = client.service.addUserInfo(upd_xml) print(result)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3