我在使用 Python 和 SOAP 时遇到问题。我需要用 Python 创建一个基于 SOAP 的 Web 服务。我读到我可以使用soaplib、suds 和ZSI 等库。我使用 Soaplib 创建了一个 Hello World Web 服务,如文档 ( http://trac.optio.webfactional.com/wiki/HelloWorld ) 中所示。问题是我无法为使用soaplib 库以外的Web 服务创建客户端。我想使用 Python 中的 suds 库来制作客户端应用程序。
您是否成功地在 Python 中创建了一个应用程序(例如使用 suds 库),使用在 Python 中使用soaplib 创建的 SOAP Web 服务?
最佳答案
你们的服务如何? Soaplib 生成一个 WSGI 对象,该对象需要由网络服务器提供服务。如果您遵循链接到的 helloworld 示例,那么您正在使用 CherryPy(纯 python Web 服务器)在您自己的计算机上托管服务。在示例中,端口是 7789(但您可以使用任何您喜欢的端口)。因此,如果您使用该示例,您应该首先启动运行 Cherrypy 的脚本 - 这应该保持运行状态并且不会返回到提示符。当它运行时,您应该能够通过 http://localhost:7789/wsdl
访问您的服务 - 您可以将该地址放入网络浏览器中以查看它是否正常工作。只要 url 以 wsdl 结尾,Soaplib 就会返回 wsdl - 所以实际上您可以执行 http://localhost:7789/anythingherewsdl
。
关于Python SOAP 服务器/客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1751027/