pysimplesoap/pysimplesoap — pull request #14 by anton-ryzhov (2014-07-26 11:41:25+00:00)
Title: Rewritten parsing method

I've faced with incorrect parsing of my wsdl's, checked out library source and totally rewritten parser to fix this.

Buggy wsdl contains several bindings for one porttype and several ports for one bindings.

Library parsed it upward direction, service-binding-porttype. And totally messed with name ambiguity, it writes to first-met object.
I've made it downward, service-binding-port. It easily handles one-to-many relations.

I've dropped support of default_service, default_binding, default_port since I'm not sure it is standard behavior and useful in some cases.

I've tried to rewrite it very carefully and check each step. Unfortunately tests doesn't say much about my effort. You should check it by youself.

My testcase:
http://pastebin.com/KmYqkh7r - wsdl with same name parts.

Current implementation (`pprint(soap_client.services)`):
http://pastebin.com/TDWAUQrM - some endpoints lack of `operations` at all. Library can't make calls. `style` property haven't parsed good.

After my fixes:
http://pastebin.com/Pv7QZ8XN - all `operations` are there. There no `parts` temporary properties because I've processed all data without it. It detects `style` property well.