Had a chat with Malintha.

Seems like we face this issue because *RESTRequestHandler *doesn't give the
priority to versioned APIs.

The correct code is there in Synapse 2.1.2.wso2v6 [1]

Created a JIRA [2]

[1] -
https://svn.wso2.org/repos/wso2/carbon/platform/branches/turing/dependencies/synapse/2.1.2-wso2v7/modules/core/src/main/java/org/apache/synapse/rest/RESTRequestHandler.java

[2]  - https://wso2.org/jira/browse/ESBJAVA-4012

Thanks
Rushmin





On Mon, Aug 3, 2015 at 12:26 PM, Malintha Amarasinghe <[email protected]>
wrote:

> Hi Rushmin,
>
> We faced something similar when introducing Default Version Feature for
> APIM 1.7.
>
> Can you please check whether you are facing the same issue as this?
> http://mail.wso2.org/mailarchive/architecture/2014-March/015574.html
>
> Thanks,
> Malintha
>
>
> On Mon, Aug 3, 2015 at 11:52 AM, Rushmin Fernando <[email protected]>
> wrote:
>
>>
>>
>> We recently upgraded App Manager's synapse version to 2.1.3.wso2v3 and
>> noticed some odd behavior.
>>
>> *Test case*
>> *-------------*
>>
>> There are two API config files (with some other API config files [1])
>>
>>   1) admin--AppManagerSandbox.xml;  *API Name* = SandboxOne;  *Context*
>> = /am-sandbox
>>
>>   2) admin--AppManagerSandbox_vv1.xml; *API Name* = SandboxOne; *Version*
>> = v1;  *Context* = /am-sandbox
>>
>> When the API is called with the URL *http://localhost:8280/am-sandbox/v1
>> <http://localhost:8280/am-sandbox/v1>  *.......
>>
>>     Synapse *doesn't* pick the API with the version
>> (admin--AppManagerSandbox_vv1.xml).
>>
>>     Rather it picks the non-versioned one (admin--AppManagerSandbox.xml)
>>
>> When the two APIs are renamed to '*AppMSandbox*' it works as expected.
>>
>> And even with the name 'SandboxOne' it works as expected, *when there
>> are no* API definitions other than the two *admin--AppManagerSandbox**
>> APIs
>>
>>
>> *So the summary is ....*
>>
>> Default APIs + SandboxOne ==> NO
>> Default APIs + AppMSandbox ==> YES
>> AppMSandbox ==> YES
>> SandboxOne ==> YES
>>
>> NO = Versioning doesn't  work
>> YES = Versioning works
>>
>>
>> Is this a bug or am I doing something wrong ?
>>
>>
>> [1]
>>
>> <api xmlns="http://ws.apache.org/ns/synapse"; name="_WSO2AMAuthorizeAPI_"
>> context="/authorize">
>>     <resource methods="GET" url-mapping="/*">
>>         <inSequence>
>>             <send>
>>                 <endpoint>
>>                     <address uri="https://localhost:9443/oauth2/authorize
>> "/>
>>                 </endpoint>
>>             </send>
>>         </inSequence>
>>         <outSequence>
>>             <send/>
>>         </outSequence>
>>     </resource>
>> </api>
>>
>> <?xml version="1.0" encoding="UTF-8"?><api xmlns="
>> http://ws.apache.org/ns/synapse"; name="_WSO2AMRevokeAPI_"
>> context="/revoke">
>>     <resource methods="POST" url-mapping="/*">
>>         <inSequence>
>>             <send>
>>                 <endpoint>
>>                     <address uri="https://localhost:9443/oauth2/revoke"/>
>>                 </endpoint>
>>             </send>
>>         </inSequence>
>>         <outSequence>
>>             <send/>
>>         </outSequence>
>>     </resource>
>>     <handlers>
>>         <handler
>> class="org.wso2.carbon.appmgt.gateway.handlers.ext.APIManagerCacheExtensionHandler"/>
>>     </handlers>
>> </api>
>>
>> <api xmlns="http://ws.apache.org/ns/synapse";
>>      name="_WSO2AMStatisticsAPI_"
>>      transports="http"
>>      context="/statistics">
>>    <resource methods="GET" url-mapping="/*">
>>             <inSequence>
>>                 <log level="full"/>
>>                 <loopback/>
>>             </inSequence>
>>             <outSequence>
>>                 <send/>
>>             </outSequence>
>>    </resource>
>>
>>  <handlers>
>>
>> <handler class="org.wso2.carbon.appmgt.usage.publisher.UsageHandler"/>
>>
>>     </handlers>
>> </api>
>>
>> <api xmlns="http://ws.apache.org/ns/synapse"; name="_WSO2APPMTokenAPI_"
>> context="/token">
>>     <resource methods="POST" url-mapping="/*">
>>         <inSequence>
>>             <send>
>>                 <endpoint>
>>                     <address uri="https://localhost:9443/appmoauth2/token
>> "/>
>>                 </endpoint>
>>             </send>
>>         </inSequence>
>>         <outSequence>
>>             <send/>
>>         </outSequence>
>>     </resource>
>>     <handlers>
>>         <handler
>> class="org.wso2.carbon.appmgt.gateway.handlers.ext.APIManagerCacheExtensionHandler"/>
>>     </handlers>
>> </api>
>>
>>
>>
>>
>>
>>
>> --
>> *Rushmin Fernando*
>> *Technical Lead*
>>
>> WSO2 Inc. <http://wso2.com/> - Lean . Enterprise . Middleware
>>
>> email : [email protected]
>> mobile : +94772310855
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Malintha Amarasinghe
> Software Engineer
> *WSO2, Inc. - lean | enterprise | middleware*
> http://wso2.com/
>
> Mobile : +94 712383306
>



-- 
*Rushmin Fernando*
*Technical Lead*

WSO2 Inc. <http://wso2.com/> - Lean . Enterprise . Middleware

email : [email protected]
mobile : +94772310855
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to