synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiranya Jayathilaka (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SYNAPSE-1001) findResource method doesn't count http method of the resource
Date Fri, 27 May 2016 05:41:12 GMT

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

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

I assume the request is a HTTP POST in this particular case. The API#process method will pick
the 2nd resource and put it into a temporary set based on HTTP method:

        Set<Resource> acceptableResources = new HashSet<Resource>();
        for (Resource r : resources.values()) {
            if (r.canProcess(synCtx)) {
                acceptableResources.add(r);
            }
        }

The dispatchers then work on the acceptableResources set. So if the request was of type POST,
the first resource will not even be considered for dispatch. Only the 2nd resource will. Am
I missing something?

> 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-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message