-->

Python SOAP server / client

2020-07-29 23:48发布

问题:

I have a problem with Python and SOAP. I need to create a web service based on SOAP in Python. I read that I can use libraries like soaplib, suds and ZSI. I created a Hello World web service with soaplib, like in documentation (http://trac.optio.webfactional.com/wiki/HelloWorld). The problem is that I cannot make a client for the web service which uses other than soaplib library. I wanted to do the client app using for example suds library in Python.

Did you managed to do an application in Python (for example with suds library) consuming the SOAP web service created with soaplib in Python?

回答1:

How are you serving the service? soaplib produces a WSGI object, which needs to be served by a webserver. If you are following the helloworld example you link to then you are using CherryPy (a pure python web server) to host the service on your own machine. In the example the port is 7789 (but you can use anything you like). So if you use the example you should first start the script which runs cherrypy - this should stay running and not return to the prompt. When that is running you should be able to access your service at http://localhost:7789/wsdl - you can put that address in a web browser to see if it is working. Soaplib returns the wsdl as long as the url ends in wsdl - so in fact you can do http://localhost:7789/anythingherewsdl.



回答2:

Are you asking whether it's possible to use (consume) a SOAP web service built with something other than soaplib? That would of course be possible. Suds is good idea for this.