创建基于wsdl的python soap服务器 - python

我有一个wsdl文件,描述Java产品上的通信服务器-客户端。
我正在实现一个基于Python的新服务器,该服务器将实现相同的服务。

您是否知道有任何方法可以基于wsdl创建Python服务器代码,而无需我编写所有涉及的复杂类型?

另外,您推荐什么Api?

参考方案

当涉及到SOAP支持时,不幸的是Python不再带有“包含电池”。可以接受客户端的支持,但是在服务器端,您基本上是一个人。

您可能想为入门者看以下内容:

http://wiki.python.org/moin/WebServices

http://pywebsvcs.sourceforge.net/

http://doughellmann.com/2009/09/01/evaluating-tools-for-developing-with-soap-in-python.html

如果您真的想走这条路,似乎ZSI是可以使用的工具,尽管我怀疑它是否可以与最新的2.x Python发行版一起使用。

使用Python 2.6.6,我尝试使用ZSI 2.0从WSDL开始构建Web服务。当使用wsdl2pywsdl2dispatch生成代码时,出现了一些“模块已被弃用”警告,不得不单独安装PyXML并破解我的 sys.path 只是为了使其首先解析,否则我得到了“模块ext.reader不存在”,然后才结束在基本的“Hello world!”上出现令人失望的“ZSI:EvaluateException缺少nillable(False),minOccurs(1)元素”错误)带有必需元素的WS。

切换到不再需要PyXML和wsdl2py的ZSI 2.1_a1(wsdl2dispatch为2.0所做的一切),但最终仍以“ZSI:EvaluateException Got for Nillable(False),Nillable(False),minOccurs(1)element”错误消失了。

经验不是很有趣,但是对于我来说,对于Python为SOAP Web服务提供什么提供了意见,就足够了……这并不多(而且对于基本Web服务而言,没有像WS-* specs这样的花哨)。 YMMV!

编辑:我最近碰到了this SO question,尽管它是面向客户端解决方案的,但它也确实提到了一些用于构建SOAP服务的库。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python:图像处理可产生皱纹纸效果 - python

也许很难描述我的问题。我正在寻找Python中的算法,以在带有某些文本的白色图像上创建皱纹纸效果。我的第一个尝试是在带有文字的图像上添加一些真实的皱纹纸图像(具有透明度)。看起来不错,但副作用是文本没有真正起皱。所以我正在寻找更好的解决方案,有什么想法吗?谢谢 参考方案 除了使用透明性之外,假设您有两张相同尺寸的图像,一张在皱纹纸上明亮,一张在白色背景上有深…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

Python:无法识别Pip命令 - python

这是我拍摄的屏幕截图。当我尝试在命令提示符下使用pip时,出现以下错误消息:pip无法识别为内部或外部命令,可操作程序或批处理文件。我已经检查了这个线程:How do I install pip on Windows?我所能找到的就是我必须将"C:\PythonX\Scripts"添加到我的类路径中,其中X代表python版本。如您在我的…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…