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
