[ 
https://issues.apache.org/jira/browse/SYNAPSE-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303590#comment-15303590
 ] 

Hiranya Jayathilaka commented on SYNAPSE-1001:
----------------------------------------------

You're right. The first resource will not be considered for dispatching if the 
request method is POST. For PATCH, GET, DELETE and PUT requests the second 
resource will not be considered for dispatching. I believe this is the correct 
behavior here.

I can see a potential conflict if neither of the resources had specified any 
HTTP methods. In that case the request will get dispatched to the first 
resource that matches. Since we are using an unordered set to store acceptable 
resources, the matching order may get messed up. This is a minor issue, and can 
be easily rectified. But I cannot find a problem with the scenario you have 
pointed out, since your two resources have mutually exclusive HTTP methods.  

> findResource method doesn't count http method of the resource
> -------------------------------------------------------------
>
>                 Key: SYNAPSE-1001
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-1001
>             Project: Synapse
>          Issue Type: Bug
>          Components: Endpoints
>    Affects Versions: 2.1
>            Reporter: Irange Thenuwara
>            Assignee: Hiranya Jayathilaka
>              Labels: easyfix
>
> Hi,
> I have a api with two resources with "/*" url mapping and deferent 
> uri-templates. A sample is as follows.
> {noformat}
>    <resource methods="PATCH GET DELETE PUT"
>              url-mapping="/*"
>              faultSequence="fault">
>  .
>  .
>    </resource>
>    <resource methods="POST"
>              url-mapping="/*"
>              faultSequence="fault">
>    .
>    .
>    <handlers>
> {noformat}
> In this case when we invoke second api, findResource() method cannot return 
> the resource . Simply we cannot invoke it.
> I analyzed the source "URLMappingBasedDispatcher.java" in apache synapse and 
> in findresource() method doesnot count http-methods of the resources causes 
> this issue.
> Since there are tools which can produce this type of api.xml's I think  its 
> better to add this to synapse too.
> Thanks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to