axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hyzer <mchy...@yahoo.com>
Subject backwards compatible axis web services?
Date Sun, 21 Dec 2008 06:02:18 GMT
I would like to know if there is a document or if someone can tell me their experience with
backwards compatible web services:

Here is a use case.

I make a class with web service methods.
I call java2wsdl, then wsdl2java
I launch this, and people make clients, and use them.
Then I add a field to an input and output.
All existing clients should still work, and should not fail when not sending the new input,
and should see the new output field (somehow they need to pass their version string in to
the server).  all new clients should be able to send their new field, and they would see the
new output field.

A couple of options:

1. Make two beans, two wsdls.  Not exactly convenient since wont I need a copy of the bean
which does the service in a different package or something?  Or if the field is in Java, but
not the wsdl, will it handle it?
2. Deploy the service twice, with two different URLs.  This is ok, though doesnt scale exactly
well, for each tweak in an existing service we need a whole new webapp...

What I would really like is several different wsdls (old and new), but hooked up to the same
beans.  Then somehow in the code say "if client version is less than 1.4, then dont send this
field)", with an annotation or something... 

How do people handle one webapp with multiple version clients?

Thanks!
Chris


      
Mime
View raw message