一个简单的webservice spyne和suds简单使用
1 |
testservice.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from spyne import ServiceBase, Iterable, Unicode , Integer, Application, rpc from spyne.protocol.soap import Soap11 from spyne.server.wsgi import WsgiApplication class HelloWorldService(ServiceBase): @rpc ( Unicode , Integer, _returns = Iterable( Unicode )) def say_hello(ctx, name, times): for i in range (times): yield 'Hello, %s' % name application = Application([HelloWorldService], tns = 'spyne.examples.hello' , in_protocol = Soap11(validator = 'lxml' ), out_protocol = Soap11()) if __name__ = = '__main__' : from wsgiref.simple_server import make_server wsgi_app = WsgiApplication(application) server = make_server( '0.0.0.0' , 8000 , wsgi_app) server.serve_forever() |
testclient.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from suds.client import Client wsdl_url = "http://localhost:8000/?wsdl" def say_hello_test(url, name, times): client = Client(url) client.service.say_hello(name, times) req = client.last_sent() response = client.last_received() print (req. str ()) print (response. str ()) if __name__ = = '__main__' : say_hello_test(wsdl_url, 'test' , 2 ) |
官网 传送门
标签:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义