I would like to use synapse to make available several versions of a
web service available at the same time in the same synapse server.  It
would seem to me that a logical way to version the web services is by
date of deployment.  I would like to define synapse to have proxies
defined like:
http://synserv/soap/2007-10-10/MyService -> version 1 of the service
http://synserv/soap/2008-01-10/MyService  -> version 2 of the service
http://synserv/soap/2008-03-05/MyService -> version 3 of the service
I know that I could do content-based versioning
(http://wso2.org/library/2611), but I feel that versioning at the
url/endpoint is the simpler solution.  Synapse 1.1.1 will let you
define a proxy service called "2008-03-05/MyService",  but at run-time
and discovery it does nothing but Accept (202) or redirect (302) you
to the http://synserv/soap location.  It seems like a bug to me.
Synapse or Axis2 doesn't seem to like services with a slash (/) in
them like:
<proxy name="2008-03-05/StockQuoteProxy" transports="https">
      <target inSequence="inbound" outSequence="outbound"
faultSequence="textfault"/>
      <publishWSDL
      uri="file:repository/conf/sample/resources/proxy/sample_proxy_1.wsdl"/>
</proxy>

Any suggestions on a url-based versioning scheme that can be done with
synapse configuration?

~john

Reply via email to