views:

40

answers:

1

Are there any guidelines/tutorials as to how to handle the evolution of a SOAP web service?

I can see that changing existing methods or types would probably not work, but can I just add new methods, complex types, enumeration values without breaking existing clients?

+2  A: 

Basically you shouldn't modify existing WebService but you can safely extend it by:

  • adding new service methods (and any types related to it),
  • adding new optional elements/attributes in existing messages.

In our team we handle WebService evolution by putting version number in namespace, so every time we do non backward compatible changes we release new WebService with separate namespace. As a side effect way we have to maintain 2-3 versions/instances of WebServices until our customers migrate themselves (we give them some time until we stop supporting older versions).

koppernickus