Hello all,
I was having a design session with my team here and we were discussing
about some possible solutions for versioning the client stubs and I though
I would get the input of the Axis development community. Essentially what I
am trying to do is make the service backward compatible to all its clients.
So if one client is on, lets say, version 1.0 of the wsdl and it contacts
the version 1.0 of the service and over the course of time, we upgrade the
service to 1.1(maybe add a new field to the complex type), then what are
the possible ideas to make the service backward compatible with 1.0
clients?

The problem we come across is the DeSerializer for a 1.0 client fails if it
receives a 1.1 message.  Since some of the clients we would have are
external clients, we want to provide a way to make the 1.1 backward
compatible with 1.0. One obvious essential step was to always make the
service additive(add new fields or operations).

One possible solution that my team came to a conclusion was to provide an
adapter that converts 1.1 to 1.0 on the server side. When we are ready to
deploy 1.1 service we deploy on a new
URI(http://myserver.com/services/foobarservice1_1) and keep the existing
1.0 service on (http://myserver.com/services/foobarservice1_0). And the
implementation of the 1.0 service will act as an adapter to the 1.1 service
and do necessary transformations on it.
If we keep the additive model, then we can have an automatic transformation
modules, that looks at the new fields in 1.1 and disregards it.

I wanted to ask the community, if they had faced any similar issue and how
they were able to prepare and solve for it?

Any help appreciated

-Hemanth


**********
The information contained in this communication is confidential, private,
proprietary, or otherwise privileged and is intended only for the use of the
addressee.  Unauthorized use, disclosure, distribution or copying is strictly
prohibited and may be unlawful.  If you have received this communication in
error, please notify the sender immediately at (312)653-6000 in Illinois;
(972)766-6900 in Texas; or (800)835-8699 in New Mexico.
**********

Reply via email to