Webservice versioning

I’m currently working on a team of people putting together a webapp in
rails, and we’re to the point of writing a SOAP webservice (using
ActionWebService).

In thinking ahead, we’ve decided that we should have something in place
to
support several versions of the webservice in the event we make changes
to
it that are not backwards compatible. We’ve already got a couple of
(currently under-developed and under-researched) ideas floating around
concerning how to achieve this:

  1. Add an entry to the routes for each supported version so that the URL
    for
    the webservice is something like /soap/1.0/service.wsdl and have that
    point
    to the proper controller.
  2. Put the version number in as an argument to the SOAP call and have
    code
    in the controller or api handle dispatching it to the proper version of
    the
    method.

The questions I have for the group are: Is there already a rails-ish way
of
doing this? If not, do either of the methods I’ve outlined above warrant
more investigation than the other?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs