一、功能需求
本次案例是开发一个Item的新建的WebService。IN&OUT的类型JsonDocument。
通过传入相关的参数创建Item,且相关的参数可以被缺省。
二、Spyne的安装
pip install spyne
对于Python3
pip install spyne==2.13.4a1
三、实现代码
引入类
from spyne import Application,rpc,ServiceBase,Iterable,Integer,Unicode #如果支持soap的协议需要用到Soap11 from spyne.protocol.soap import Soap11 #如果开发传入传出为Json需要用到JsonDocument from spyne.protocol.json import JsonDocument #可以创建一个wsgi服务器,做测试用 from spyne.server.wsgi import WsgiApplication #将Spyne创建的app 发布为django from django.views.decorators.csrf import csrf_exempt #创建一个负责数据类型 from spyne.model.complex import ComplexModel #引用其他的APP from ItemAPI import APP_Item
创建ItemData的相关属性
class ItemData(ComplexModel): __namespace__ = 'itemData' ItemCode=Unicode SearchCode=Unicode ItemName=Unicode Assortment=Unicode Brand=Unicode Material=Unicode ItemSource=Unicode Category=Unicode Series=Unicode Model=Unicode CostType=Unicode WareHouse=Unicode WareHouseLocation=Unicode Width=Unicode Length=Unicode Height=Unicode Volume=Unicode Size=Unicode GLAccountCost=Unicode GLAccountRevenue=Unicode GLAccountDistribution=Unicode SalesPrice=Unicode CostPrice=Unicode VatCode=Unicode IsHarbin=Unicode IsBatchItem=Unicode CountryCode=Unicode