savonrb / wasabi

A simple WSDL parser
MIT License
90 stars 84 forks source link

Only set port_message_ns_id and port_message_type if a port_type_input is found. #12

Closed cschiewek closed 12 years ago

cschiewek commented 12 years ago

This fixes the parsing of the WSDL file I linked in #11.

rubiii commented 12 years ago

can you add specs based on your wsdl please?

cschiewek commented 12 years ago

I've added a wsdl without port type and a spec that ensures that operations are correctly parsed even if the WSDL is missing port_type.

rubiii commented 12 years ago

may i ask where you got that wsdl from? because it looks like it's not valid. soapUI doesn't know what to do with it and by looking at it, i have no idea how any tool could parse it. the name which refers from the service to the binding seems wrong and the fact that it's missing a portType is really weird.

cschiewek commented 12 years ago

I copy and pasted it from an existing WSDL in the fixtures directory, and just removed the portType. I agree it's strange, but missing portType seems to be a fairly common occurrence for SOAP services generated using .NET WCF. I had difficulties finding examples of WSDL documents without portType, but I'm open to suggestions.

rubiii commented 12 years ago

my suggestion would be to not mess with wsdl documents and actually use a real example, because the test suite already contains enough fake fixtures and we can't continue like that.

the current parser only looks at parts of the wsdl and doesn't connect services to bindings to portTypes to messages, etc. but the new parser i'm working on right now is doing that and it is not going to work with fake fixtures.