How do I compensate for a bad WSDL?
I have come across several examples of SOAP based web services where auto-provisioning prevents a client that works.
Examining these examples leads me to believe that the WSDL that the service uses to describe does not quite match the service provided. Maybe the wrong type is somewhere, the other data structure is something.
I'm not sure what the most appropriate answer is - if we assume the obvious (to get the provider to fix their stuff) is not available.
Some options I can think of:
- Make a fixed WSDL?
- Hack the generated code?
- Any other options?
- No good options?
What is a good experience for people? What works in a real environment?
thank
source to share
I would try the first option by making a fixed wsdl. If that doesn't work, you can opt out of cracking the generated code.
Of course, if the service is radically different from the WSDL, you might not be lucky with these two options.
If you're lucky, there is another way. Some web services support dynamically generated WSDL support.
I know that with AXIS 1.4 service you can do a GET on the WSDL service url and return the dynamically generated WSDL.
eg. http://foo.com/service/?WSDL
source to share