Re: backwards compatible axis web services?

2008-12-29 Thread don t

Hi, this link may be useful for dealing with Web services versioning

http://www.ibm.com/developerworks/webservices/library/ws-version/


Chris Hyzer wrote:
 
 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
 
 
   
 

-- 
View this message in context: 
http://www.nabble.com/backwards-compatible-axis-web-services--tp21112440p21211816.html
Sent from the Axis - User mailing list archive at Nabble.com.



backwards compatible axis web services?

2008-12-20 Thread Chris Hyzer
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