python+spyne+django创建webservice客户端并调用 |
您所在的位置:网站首页 › 生成webservice客户端 › python+spyne+django创建webservice客户端并调用 |
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 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |