You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Paul Fremantle <pz...@gmail.com> on 2008/03/06 07:52:13 UTC

Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

I think we need to improve Synapse (and Axis2) to support this model.

Paul

PS  In fact, I'd really like to see Synapse allow exact URLs to be specified:

for example

<proxy name="blah>
   <url="http://server.com/myurl/2008-09-09/service">
   ...

</proxy>

On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com> wrote:
> Hi john,
>
>  This is expected, even though Synapse proxy services lets you create a proxy
>  with the '/' character, it is a special character for the URL based
>  dispatching because it breaks the splits the String representation of the
>  URL from the '/' character to find the service. Due to the presence of the
>  '/' in the name of the service, URL based dispatcher will not be able to
>  dispatch this because it only sees the version number as the service name
>  after the splitting.
>
>  Workaround for this is either to eliminate the '/' character and use some
>  other character instead or send the version as a parameter, for example
>
>  http://synserv/soap/2007-10-10/MyService ==>
>  http://synserv/soap/2007-10-10_MyService<http://synserv/soap/2007-10-10/MyService>
>  or
>  http://synserv/soap/2007-10-10/MyService ==>
>  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService>
>  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
>
>  Even here for the second case you will have to use a router inside the
>  mediation to decide the correct service, but this approach is more towards
>  the HTTP semantics.
>
>  Will it be possible for you to use one of these strategies?
>
>  Thanks,
>  Ruwan
>
>
>
>
>  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
>
>  > 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
>  >
>
>
>
>  --
>  Ruwan Linton
>  http://www.wso2.org - "Oxygenating the Web Services Platform"
>



-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by J Bouck <bo...@gmail.com>.
I took the liberty in creating SYNAPSE-249 as an enhancement request.
~john

On Thu, Mar 6, 2008 at 10:37 AM, Paul Fremantle <pz...@gmail.com> wrote:
> Asankha
>
>  I was hoping you would say that :)
>
>  Paul
>
>
>
>  On Thu, Mar 6, 2008 at 1:45 PM, Asankha C. Perera <as...@wso2.com> wrote:
>  >
>  >  Actually I am quite sure we can do this using the nhttp transport - for
>  > example with the JMS, VFS or email transports etc, we allow the user to
>  > specify any address over that transport for a service, and as long as we are
>  > out of a WAR container, we can do the same..
>  >
>  >  But, I know for a fact that some users have used the WAR / Servlet
>  > transport deployment in production, and in this scenario, the choice is
>  > obviously limited, or not possible at all..
>  >
>  >  I am ok to have a JIRA for this enhancement for consideration..
>  >
>  >  asankha
>  >
>  >
>  >
>  >  Ruwan Linton wrote:
>  >  Paul,
>  >
>  > Your suggestion is very cool, but doesn't it require some modifications to
>  > axis2 as well. I think the URL based dispatcher and the AxisService has to
>  > be changed to support this. Am I wrong or missing something?
>  >
>  > Anyway +1 for this improvement.
>  >
>  > Thanks,
>  > Ruwan
>  >
>  > On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:
>  >
>  >
>  >
>  >  I think we need to improve Synapse (and Axis2) to support this model.
>  >
>  > Paul
>  >
>  > PS In fact, I'd really like to see Synapse allow exact URLs to be
>  > specified:
>  >
>  > for example
>  >
>  > <proxy name="blah>
>  >  <url="http://server.com/myurl/2008-09-09/service">
>  >  ...
>  >
>  > </proxy>
>  >
>  > On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
>  > wrote:
>  >
>  >
>  >  Hi john,
>  >
>  >  This is expected, even though Synapse proxy services lets you create a
>  >
>  >  proxy
>  >
>  >
>  >  with the '/' character, it is a special character for the URL based
>  >  dispatching because it breaks the splits the String representation of
>  >
>  >  the
>  >
>  >
>  >  URL from the '/' character to find the service. Due to the presence of
>  >
>  >  the
>  >
>  >
>  >  '/' in the name of the service, URL based dispatcher will not be able
>  >
>  >  to
>  >
>  >
>  >  dispatch this because it only sees the version number as the service
>  >
>  >  name
>  >
>  >
>  >  after the splitting.
>  >
>  >  Workaround for this is either to eliminate the '/' character and use
>  >
>  >  some
>  >
>  >
>  >  other character instead or send the version as a parameter, for example
>  >
>  >  http://synserv/soap/2007-10-10/MyService ==>
>  >  http://synserv/soap/2007-10-10_MyService<
>  >
>  >  http://synserv/soap/2007-10-10/MyService>
>  >
>  >
>  >  or
>  >  http://synserv/soap/2007-10-10/MyService ==>
>  >  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
>  >
>  >  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
>  >
>  >  Even here for the second case you will have to use a router inside the
>  >  mediation to decide the correct service, but this approach is more
>  >
>  >  towards
>  >
>  >
>  >  the HTTP semantics.
>  >
>  >  Will it be possible for you to use one of these strategies?
>  >
>  >  Thanks,
>  >  Ruwan
>  >
>  >
>  >
>  >
>  >  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
>  >
>  >  > 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
>  >  >
>  >
>  >
>  >
>  >  --
>  >  Ruwan Linton
>  >  http://www.wso2.org - "Oxygenating the Web Services Platform"
>  >
>  >
>  >
>  > --
>  > Paul Fremantle
>  > Co-Founder and VP of Technical Sales, WSO2
>  > Apache Synapse PMC Chair
>  > OASIS WS-RX TC Co-chair
>  >
>  > blog: http://pzf.fremantle.org
>  > paul@wso2.com
>  >
>  > "Oxygenating the Web Service Platform", www.wso2.com
>  >
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>  > For additional commands, e-mail: dev-help@synapse.apache.org
>  >
>  >
>  >
>  >
>  >
>  >
>
>
>
>  --
>
>
> Paul Fremantle
>  Co-Founder and VP of Technical Sales, WSO2
>  Apache Synapse PMC Chair
>  OASIS WS-RX TC Co-chair
>
>  blog: http://pzf.fremantle.org
>  paul@wso2.com
>
>  "Oxygenating the Web Service Platform", www.wso2.com
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>  For additional commands, e-mail: dev-help@synapse.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by Paul Fremantle <pz...@gmail.com>.
Asankha

I was hoping you would say that :)

Paul

On Thu, Mar 6, 2008 at 1:45 PM, Asankha C. Perera <as...@wso2.com> wrote:
>
>  Actually I am quite sure we can do this using the nhttp transport - for
> example with the JMS, VFS or email transports etc, we allow the user to
> specify any address over that transport for a service, and as long as we are
> out of a WAR container, we can do the same..
>
>  But, I know for a fact that some users have used the WAR / Servlet
> transport deployment in production, and in this scenario, the choice is
> obviously limited, or not possible at all..
>
>  I am ok to have a JIRA for this enhancement for consideration..
>
>  asankha
>
>
>
>  Ruwan Linton wrote:
>  Paul,
>
> Your suggestion is very cool, but doesn't it require some modifications to
> axis2 as well. I think the URL based dispatcher and the AxisService has to
> be changed to support this. Am I wrong or missing something?
>
> Anyway +1 for this improvement.
>
> Thanks,
> Ruwan
>
> On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:
>
>
>
>  I think we need to improve Synapse (and Axis2) to support this model.
>
> Paul
>
> PS In fact, I'd really like to see Synapse allow exact URLs to be
> specified:
>
> for example
>
> <proxy name="blah>
>  <url="http://server.com/myurl/2008-09-09/service">
>  ...
>
> </proxy>
>
> On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
> wrote:
>
>
>  Hi john,
>
>  This is expected, even though Synapse proxy services lets you create a
>
>  proxy
>
>
>  with the '/' character, it is a special character for the URL based
>  dispatching because it breaks the splits the String representation of
>
>  the
>
>
>  URL from the '/' character to find the service. Due to the presence of
>
>  the
>
>
>  '/' in the name of the service, URL based dispatcher will not be able
>
>  to
>
>
>  dispatch this because it only sees the version number as the service
>
>  name
>
>
>  after the splitting.
>
>  Workaround for this is either to eliminate the '/' character and use
>
>  some
>
>
>  other character instead or send the version as a parameter, for example
>
>  http://synserv/soap/2007-10-10/MyService ==>
>  http://synserv/soap/2007-10-10_MyService<
>
>  http://synserv/soap/2007-10-10/MyService>
>
>
>  or
>  http://synserv/soap/2007-10-10/MyService ==>
>  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
>
>  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
>
>  Even here for the second case you will have to use a router inside the
>  mediation to decide the correct service, but this approach is more
>
>  towards
>
>
>  the HTTP semantics.
>
>  Will it be possible for you to use one of these strategies?
>
>  Thanks,
>  Ruwan
>
>
>
>
>  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
>
>  > 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
>  >
>
>
>
>  --
>  Ruwan Linton
>  http://www.wso2.org - "Oxygenating the Web Services Platform"
>
>
>
> --
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>
>
>
>
>



-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by "Asankha C. Perera" <as...@wso2.com>.
Actually I am quite sure we can do this using the nhttp transport - for 
example with the JMS, VFS or email transports etc, we allow the user to 
specify any address over that transport for a service, and as long as we 
are out of a WAR container, we can do the same..

But, I know for a fact that some users have used the WAR / Servlet 
transport deployment in production, and in this scenario, the choice is 
obviously limited, or not possible at all..

I am ok to have a JIRA for this enhancement for consideration..

asankha

Ruwan Linton wrote:
> Paul,
>
> Your suggestion is very cool, but doesn't it require some modifications to
> axis2 as well. I think the URL based dispatcher and the AxisService has to
> be changed to support this. Am I wrong or missing something?
>
> Anyway +1 for this improvement.
>
> Thanks,
> Ruwan
>
> On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:
>
>   
>> I think we need to improve Synapse (and Axis2) to support this model.
>>
>> Paul
>>
>> PS  In fact, I'd really like to see Synapse allow exact URLs to be
>> specified:
>>
>> for example
>>
>> <proxy name="blah>
>>   <url="http://server.com/myurl/2008-09-09/service">
>>   ...
>>
>> </proxy>
>>
>> On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
>> wrote:
>>     
>>> Hi john,
>>>
>>>  This is expected, even though Synapse proxy services lets you create a
>>>       
>> proxy
>>     
>>>  with the '/' character, it is a special character for the URL based
>>>  dispatching because it breaks the splits the String representation of
>>>       
>> the
>>     
>>>  URL from the '/' character to find the service. Due to the presence of
>>>       
>> the
>>     
>>>  '/' in the name of the service, URL based dispatcher will not be able
>>>       
>> to
>>     
>>>  dispatch this because it only sees the version number as the service
>>>       
>> name
>>     
>>>  after the splitting.
>>>
>>>  Workaround for this is either to eliminate the '/' character and use
>>>       
>> some
>>     
>>>  other character instead or send the version as a parameter, for example
>>>
>>>  http://synserv/soap/2007-10-10/MyService ==>
>>>  http://synserv/soap/2007-10-10_MyService<
>>>       
>> http://synserv/soap/2007-10-10/MyService>
>>     
>>>  or
>>>  http://synserv/soap/2007-10-10/MyService ==>
>>>  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
>>>
>>>  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
>>>
>>>  Even here for the second case you will have to use a router inside the
>>>  mediation to decide the correct service, but this approach is more
>>>       
>> towards
>>     
>>>  the HTTP semantics.
>>>
>>>  Will it be possible for you to use one of these strategies?
>>>
>>>  Thanks,
>>>  Ruwan
>>>
>>>
>>>
>>>
>>>  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
>>>
>>>  > 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
>>>  >
>>>
>>>
>>>
>>>  --
>>>  Ruwan Linton
>>>  http://www.wso2.org - "Oxygenating the Web Services Platform"
>>>
>>>       
>>
>> --
>> Paul Fremantle
>> Co-Founder and VP of Technical Sales, WSO2
>> Apache Synapse PMC Chair
>> OASIS WS-RX TC Co-chair
>>
>> blog: http://pzf.fremantle.org
>> paul@wso2.com
>>
>> "Oxygenating the Web Service Platform", www.wso2.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>>
>>     
>
>
>   

Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by "Asankha C. Perera" <as...@wso2.com>.
Actually I am quite sure we can do this using the nhttp transport - for 
example with the JMS, VFS or email transports etc, we allow the user to 
specify any address over that transport for a service, and as long as we 
are out of a WAR container, we can do the same..

But, I know for a fact that some users have used the WAR / Servlet 
transport deployment in production, and in this scenario, the choice is 
obviously limited, or not possible at all..

I am ok to have a JIRA for this enhancement for consideration..

asankha

Ruwan Linton wrote:
> Paul,
>
> Your suggestion is very cool, but doesn't it require some modifications to
> axis2 as well. I think the URL based dispatcher and the AxisService has to
> be changed to support this. Am I wrong or missing something?
>
> Anyway +1 for this improvement.
>
> Thanks,
> Ruwan
>
> On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:
>
>   
>> I think we need to improve Synapse (and Axis2) to support this model.
>>
>> Paul
>>
>> PS  In fact, I'd really like to see Synapse allow exact URLs to be
>> specified:
>>
>> for example
>>
>> <proxy name="blah>
>>   <url="http://server.com/myurl/2008-09-09/service">
>>   ...
>>
>> </proxy>
>>
>> On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
>> wrote:
>>     
>>> Hi john,
>>>
>>>  This is expected, even though Synapse proxy services lets you create a
>>>       
>> proxy
>>     
>>>  with the '/' character, it is a special character for the URL based
>>>  dispatching because it breaks the splits the String representation of
>>>       
>> the
>>     
>>>  URL from the '/' character to find the service. Due to the presence of
>>>       
>> the
>>     
>>>  '/' in the name of the service, URL based dispatcher will not be able
>>>       
>> to
>>     
>>>  dispatch this because it only sees the version number as the service
>>>       
>> name
>>     
>>>  after the splitting.
>>>
>>>  Workaround for this is either to eliminate the '/' character and use
>>>       
>> some
>>     
>>>  other character instead or send the version as a parameter, for example
>>>
>>>  http://synserv/soap/2007-10-10/MyService ==>
>>>  http://synserv/soap/2007-10-10_MyService<
>>>       
>> http://synserv/soap/2007-10-10/MyService>
>>     
>>>  or
>>>  http://synserv/soap/2007-10-10/MyService ==>
>>>  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
>>>
>>>  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
>>>
>>>  Even here for the second case you will have to use a router inside the
>>>  mediation to decide the correct service, but this approach is more
>>>       
>> towards
>>     
>>>  the HTTP semantics.
>>>
>>>  Will it be possible for you to use one of these strategies?
>>>
>>>  Thanks,
>>>  Ruwan
>>>
>>>
>>>
>>>
>>>  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
>>>
>>>  > 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
>>>  >
>>>
>>>
>>>
>>>  --
>>>  Ruwan Linton
>>>  http://www.wso2.org - "Oxygenating the Web Services Platform"
>>>
>>>       
>>
>> --
>> Paul Fremantle
>> Co-Founder and VP of Technical Sales, WSO2
>> Apache Synapse PMC Chair
>> OASIS WS-RX TC Co-chair
>>
>> blog: http://pzf.fremantle.org
>> paul@wso2.com
>>
>> "Oxygenating the Web Service Platform", www.wso2.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>>
>>     
>
>
>   

Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by Ruwan Linton <ru...@gmail.com>.
Paul,

Your suggestion is very cool, but doesn't it require some modifications to
axis2 as well. I think the URL based dispatcher and the AxisService has to
be changed to support this. Am I wrong or missing something?

Anyway +1 for this improvement.

Thanks,
Ruwan

On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:

> I think we need to improve Synapse (and Axis2) to support this model.
>
> Paul
>
> PS  In fact, I'd really like to see Synapse allow exact URLs to be
> specified:
>
> for example
>
> <proxy name="blah>
>   <url="http://server.com/myurl/2008-09-09/service">
>   ...
>
> </proxy>
>
> On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
> wrote:
> > Hi john,
> >
> >  This is expected, even though Synapse proxy services lets you create a
> proxy
> >  with the '/' character, it is a special character for the URL based
> >  dispatching because it breaks the splits the String representation of
> the
> >  URL from the '/' character to find the service. Due to the presence of
> the
> >  '/' in the name of the service, URL based dispatcher will not be able
> to
> >  dispatch this because it only sees the version number as the service
> name
> >  after the splitting.
> >
> >  Workaround for this is either to eliminate the '/' character and use
> some
> >  other character instead or send the version as a parameter, for example
> >
> >  http://synserv/soap/2007-10-10/MyService ==>
> >  http://synserv/soap/2007-10-10_MyService<
> http://synserv/soap/2007-10-10/MyService>
> >  or
> >  http://synserv/soap/2007-10-10/MyService ==>
> >  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
> >
> >  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
> >
> >  Even here for the second case you will have to use a router inside the
> >  mediation to decide the correct service, but this approach is more
> towards
> >  the HTTP semantics.
> >
> >  Will it be possible for you to use one of these strategies?
> >
> >  Thanks,
> >  Ruwan
> >
> >
> >
> >
> >  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
> >
> >  > 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
> >  >
> >
> >
> >
> >  --
> >  Ruwan Linton
> >  http://www.wso2.org - "Oxygenating the Web Services Platform"
> >
>
>
>
> --
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>


-- 
Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"

Re: Synapse proxy service with slashes not working. Ideas for versioning web services at url/endpoint using synapse?

Posted by Ruwan Linton <ru...@gmail.com>.
Paul,

Your suggestion is very cool, but doesn't it require some modifications to
axis2 as well. I think the URL based dispatcher and the AxisService has to
be changed to support this. Am I wrong or missing something?

Anyway +1 for this improvement.

Thanks,
Ruwan

On Thu, Mar 6, 2008 at 12:22 PM, Paul Fremantle <pz...@gmail.com> wrote:

> I think we need to improve Synapse (and Axis2) to support this model.
>
> Paul
>
> PS  In fact, I'd really like to see Synapse allow exact URLs to be
> specified:
>
> for example
>
> <proxy name="blah>
>   <url="http://server.com/myurl/2008-09-09/service">
>   ...
>
> </proxy>
>
> On Wed, Mar 5, 2008 at 6:26 PM, Ruwan Linton <ru...@gmail.com>
> wrote:
> > Hi john,
> >
> >  This is expected, even though Synapse proxy services lets you create a
> proxy
> >  with the '/' character, it is a special character for the URL based
> >  dispatching because it breaks the splits the String representation of
> the
> >  URL from the '/' character to find the service. Due to the presence of
> the
> >  '/' in the name of the service, URL based dispatcher will not be able
> to
> >  dispatch this because it only sees the version number as the service
> name
> >  after the splitting.
> >
> >  Workaround for this is either to eliminate the '/' character and use
> some
> >  other character instead or send the version as a parameter, for example
> >
> >  http://synserv/soap/2007-10-10/MyService ==>
> >  http://synserv/soap/2007-10-10_MyService<
> http://synserv/soap/2007-10-10/MyService>
> >  or
> >  http://synserv/soap/2007-10-10/MyService ==>
> >  http://synserv/soap/MyService?<http://synserv/soap/2007-10-10/MyService
> >
> >  version=2007-10-10 <http://synserv/soap/2007-10-10/MyService>
> >
> >  Even here for the second case you will have to use a router inside the
> >  mediation to decide the correct service, but this approach is more
> towards
> >  the HTTP semantics.
> >
> >  Will it be possible for you to use one of these strategies?
> >
> >  Thanks,
> >  Ruwan
> >
> >
> >
> >
> >  On Wed, Mar 5, 2008 at 11:28 PM, J Bouck <bo...@gmail.com> wrote:
> >
> >  > 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
> >  >
> >
> >
> >
> >  --
> >  Ruwan Linton
> >  http://www.wso2.org - "Oxygenating the Web Services Platform"
> >
>
>
>
> --
> Paul Fremantle
> Co-Founder and VP of Technical Sales, WSO2
> Apache Synapse PMC Chair
> OASIS WS-RX TC Co-chair
>
> blog: http://pzf.fremantle.org
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
> For additional commands, e-mail: dev-help@synapse.apache.org
>
>


-- 
Ruwan Linton
http://www.wso2.org - "Oxygenating the Web Services Platform"