Any recommendations for auto-generating the WSDL for a Python/Twisted SOAP Server?
I've found lots of examples for taking an existing WSDL and generating the stubbed Python code, but am looking for the reverse operation.
The point is, all the python libraries out there are not complete and no more supported as well.
There is a library we are working on and maintaining, called soapbox, on this link.
This library has all the features that you need and more, and we are working on to add more features and capabilities.
Kindly note that, we are the only python soap library that is actively supported in the market, and because of this specific reason, people migrate from python to other languages when it comes to complex soap projects.
Let me know if you have further questions or enquiries.
Thanks!
Related
First of all: Yes, I know that there are plenty of SOAP/WSDL/Python Questions. And no, none of the answers I found was really helpful (anymore).
Secondly: Yes, I wouldn't use SOAP/WSDL anymore if I wouldn't need to. Unfortunately there are still huge software companies only offering web service through this interface. And I have to communicate with such a system. The specific company suggests the usage of PHP but I'm not really a PHP fan when it comes to serious things. I know that there seem to be good SOAP solutions for Java but Java is no option in this context.
The problem: There exists a multitude of SOAP packages for Python and quite some of them support WSDL. Foremost SOAPpy and ZSI. Unfortunately they usually depend on PyXML, which isn't compatible to recent Python versions anymore. I'm fine with Python 3 or Python 2.7, but nothing previous to that.
Since I don't want to ride a dead horse: Are there still any solutions to use SOAP / WSDL within current Python versions?
Check out: What SOAP libraries exist for Python 3.x?
I've used suds before and it feels good. It does seem pysimplesoap is more maintained though - I've only used pysimplesoap server side, not for consuming (e. client).
Am very new on WSDL (SOAP) web service on GAE python,
i read some services like SOAPpy, SUDS
actually i couldn't able to figure-out which is best and easy for consuming the services.
Guys, Could you please share me your experiences with this or any other best services which i can use in my app.
Note: am using Windows7 for development with Python2.5, GAE 1.6.1v
SUDS is very nice and would be my preferred choice, but AFAIK doesn't work on GAE without modifications. It stores the WSDL cache on file system, while on GAE you'd want to store in memcached instead. Fixing it shouldn't be too difficult, if you search you should find a couple of blog postings on the issue. There are also several versions on github, perhaps some of those support GAE.
That's my blog post linked in the above comment. I'm glad it was helpful, but I'm surprised that my suds_memcache.py is still useful. I've gone ahead and made it a gist to make it easier to get to/find and so you can easily fork it:
https://gist.github.com/jjwatt/f263b00a2827d6decbfd42a0734872fb
I'm doing server/client application similar to Ubuntu Landscape (http://www.canonical.com/enterprise-services/ubuntu-advantage/landscape) for my school project.
The client part of application will send different informations (disk usage, packages etc.) to server. I know how to get informations and hot I'll handle them on the server side.
But I don't know how what is the best way to exchange informations. Would SOAP be ok or is there any better way for doing this? Messages can be large (for example a list of installed packages) or very small. I was looking at Twisted but don't know where to start. I have experience with SOAP in PHP, Java and C#.
And recommnedation is welcome, thanks
Look into XMLRPC or JSON-RPC which is likely supported in some why by all language through modules or packages.
SOAP is a complete bloat and widely considered as a failed hype.
I recommend using flask or smisk. Both frameworks are REST based, powerful, lightweight and pythonic. Flask is probably more mature and maintained. If you go down the SOAP road, you'll regret it sooner or later.
I want to access web service in Python or/and Perl scripts. What are the most popular and reliable libraries today?
I read this question, and I know about SOAPpy and ZSI. Can anybody say something about this libraries? Are they reliable enough for use in production?
If you're talking about SOAP then for Python I would definitely recommend suds :
https://fedorahosted.org/suds/
Checking couple of libraries for SOAP (including suds) only ZSI worked reliably for me. It is not complicated to use and it just works(tm). I recommend that.
Perl has fantastic CPAN libraries available for doing SOAP. Probably the easiest would be SOAP::Lite:
SOAP::Lite is a collection of Perl modules which provides a simple and lightweight interface to the Simple Object Access Protocol (SOAP) both on client and server side.
See more on the CPAN page.
what is the advantage of using a python virtualbox API instead of using XPCOM?
The advantage is that pyvb is lot easier to work with.
On the contrary the documentation for the python API of XPCOM doesn't exist, and the API is not pythonic at all. You can't do introspection to find methods/attributes of an object, etc. So you have to check the C++ source to find how it works or some python scripts already written (like vboxshell.py and VBoxWebSrv.py).
On the other hand pyvb is really just python wrapper that call VirtuaBoxManager on the command line. I don't know if it's a real disadvantage or not?
I would generally recommend against either one. If you need to use virtualization programmatically, take a look at libvirt, which gives you cross platform and cross hypervisor support; which lets you do kvm/xen/vz/vmware later on.
That said, the SOAP api is using two extra abstraction layers (the client and server side of the HTTP transaction), which is pretty clearly then just calling the XPCOM interface.
If you need local host only support, use XPCOM. The extra indirection of libvirt/SOAP doesn't help you.
If you need to access virtualbox on a various hosts across multiple client machines, use SOAP or libvirt
If you want cross platform support, or to run your code on Linux, use libvirt.
From sun's site on VirtualBox python APIs:
SOAP allows to control remote VMs over
HTTP, while XPCOM is much more
high-performing and exposes certain
functionality not available with SOAP.
They use very different technologies
(SOAP is procedural, while XPCOM is
OOP), but as it is ultimately API to
the same functionality of the
VirtualBox, we kept in bindings
original semantics, so other that
connection establishment, code could
be written in such a way that people
may not care what communication
channel with VirtualBox instance is
used.
From that article, I'm having trouble seeing the difference between "python virtualbox API" and "XPCOM". Could you provide a link to the API you're thinking of?