supporting multiple versions of web services

An upcoming release of project will require updating the web services interface by introducing new operations. Both versions of web service, the old and the new, should be running on the same server.
We need to be able to support multiple versions of web services simultaneously. What are the ways we can do this with minimum impact on current architecture?

e.g. Can we do it using different namespaces and ?

Thanks in advance.


Assuming that you do not have some type of web services intermediary or ESB between the service consumer and service providre (IS in your case), then you must do one of the following:

  1. Use unique namespaces or operation names for each version so that the default IS soap processors can invoke the correct service
  2. Create a separate soap processor for the new version that routes requests for its operations to the correct IS service

In either case, you must create and maintain an implementation of the IS services that provide the web service operations such that they have unique fully-qualified names for each version.

If an intermediary or ESB has been implemented it may provide the ability to route requests to the correct implementation either using a routing rule to derive the correct endpoint or a transformation rule to transform requests for an older version to a request for the new version (assuming that is possible).


Thanks Mark.

I will come back with the status soon.