Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to detect breaking changes in WSDL contracts?

We would like to have a setup where when deploying our web services to our staging server, we would get notified if there are any breaking changes in the WSDL contracts by comparing them to the WSDL of our production site.

Are there any tools or services that can help doing this?

Tried Membrane WSDL comparer but this threw java.lang.StackOverflowError when trying it out :)

like image 952
Asbjørn Avatar asked Jan 09 '12 08:01

Asbjørn


People also ask

Is WSDL a contract?

There is no such thing as a WSDL contract. There is a Web Services Contract, and, the WSDL is a part of its technical specification.

Where are WSDL files stored?

Typically, all WSDL or XSD files are initially placed into the META-INF/wsdl directory when using Enterprise JavaBeans (EJB) or the WEB-INF/wsdl directory when using Java™.


1 Answers

First; I'm not aware of any such tools.

I also answered the "other" question. Looking at the guidelines posted there, I would say it should be possible to roll your own (Possible, not easy :).

I did similar work in the past; albeit not for WSDL but for another dialect. My approach was;

  1. Parse the WSDL/Schema as regular XML (They are after all XML dialects themselves) (Schema can be tricky though)
  2. Build an in-memory model
  3. Define rules and apply them

WSDL part is easier since there are a limited number of constructs; Schema would be tricky but still doable I guess.

like image 77
Selim Avatar answered Sep 21 '22 20:09

Selim