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

+2


source to share


2 answers


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

+1


source


I'll first try to confirm that the tool has created the correct binding for the WSDL. If the WSDL is correct and the tool generates bad bindings that do not properly handle the SOAP request / response, the author of the tool can provide a fix or workaround.



+1


source







All Articles