Although this question is very popular here in StackOverflow, after spending some time here and in the Google, I still haven't find a concrete answer on what is the most appropriate way to do SOAP consuming in Python 3.
I took a look at Does a Python 3 SOAP client module exist?, and I hope it is outdated and开发者_Python百科 today some solution to this may have appeared.
I was thinking about some ideas:
- Use 2to3 script to port some existing libraries to Python 3 (SOAPy, suds, etc).
- Load an external module, by mixing technologies (Py3k + Jython, Py3k + Python 2.6, etc.)
- Write in hardcode Python classes that corresponds to definitions of WSDL files (which implies in tight-coupling/high maintenance).
- Write the software in Python 3.0, call the "python2.6-only" module functions through the execnet package. Which requires the Python 2.6 to be installed on the machine and the software written in Python3.0 to be a frozen binary.
Any ideas?
Thanks in advance
I would probably start by trying your suggested 2to3 port. For many things, it works pretty well. It would still be a day or two worth of work to convert something like suds, I imagine.
精彩评论