Hi Burak.
On 30.5.2014. 8:43, Burak Arslan wrote:
If you're planning to change the root namespace (e.g. suds => jsuds) I
can simply copy test_suds.py to test_jsuds.py so both could be tested
side by side.
So far I've been trying to maintain the same namespace so the fork
can be used as an in-place replacement with as little effort required
from the user as possible.
I also contemplated taking over suds some time ago but Suds codebase was
not that adorable last time I looked at it. See:
http://stackoverflow.com/a/15156236
Yup, I like the term 'not that adorable'. :-D
I ran into myself a couple of years ago when I needed to write a
Python based SOAP WS client. Nothing better was available, and suds was
the most recommended project to use so I patched it up to work correctly
where I needed it. Later on I continued working on it - mostly as an
experiment in maintaining legacy software, implementing automated
testing/setup/build, Python 2/3 compatibility, useful code-base for
teaching new hires about programming and team-work, etc. :-)
The fork I mention there is: https://github.com/plq/suds
I'll take a look. Can't promise exactly when I'll have enough free
time, but I can port over whatever bug-fixes & patches you need.
Lastly, suds is *very* slow, because its XML parsing is pure-python.
Also, it can't do async because unlike Spyne, transports are not
pluggable. If, instead of improving suds, you're willing to look at
Spyne's SOAP client, I can help you much more there. It does do Xml
Schema parsing but not Wsdl parsing, otherwise it's more or less working.
Yup, I noticed the speed factor. But would not like to tackle that
problem until the correctness can be guaranteed by a solid test suite.
Otherwise, I'm bound to mess stuff up. :-D
As for the 'pluggable transports', suds does have a Transport concept
and you can write & plug in your own. Whether its Transport interface
allows them to be used asynchronously is another matter, and that is one
interesting venue to research in the future.
On the other hand, I know suds itself is not safe to use concurrently
from multiple threads, and I am not even sure if it is completely safe
to use from multiple concurrent processes as well. :-s I think its cache
folder usage might not be completely safe there.
As for the Spyne SOAP client, I'll take a look when I can. Although,
I think evolution is much better than revolution when talking about
software design & development :-D and I try to avoid reimplementing
stuff from scratch wherever possible. In general, I find that since
software typically grows into an entity too complex to be held in one
head with all of it details, reimplementing it usually just reshuffles
the cards and trades one set of problems for another.
Good luck with your efforts, you seem to be doing a great job and great
service to the community.
Thanks. Hope it helps someone. :-)
Best regards,
Jurko Gospodnetić
_______________________________________________
Soap mailing list
[email protected]
https://mail.python.org/mailman/listinfo/soap