[ https://issues.apache.org/jira/browse/AXIS2-5602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13736286#comment-13736286 ]
Shameera Rathnayaka commented on AXIS2-5602: -------------------------------------------- Yes reversing the logic which find the service name would solve the problem, On the other hand that is the correct way to map with URI to resources. In REST world it select the longest URI match resource therefore our approach best fit for that model. As a best practice we use first letter capital path segment for services. and first letter simple path segment for operation names. In that way we can differentiate operations and service names. for your example "Foo/Bar/Test" map to a service and "Foo/Bar/test" map to a operation "test" in "Foo/Bar" service. Thanks, Shameera. > RequestURIBasedServiceDispatcher#findService is returning wrong axis service > ---------------------------------------------------------------------------- > > Key: AXIS2-5602 > URL: https://issues.apache.org/jira/browse/AXIS2-5602 > Project: Axis2 > Issue Type: Bug > Affects Versions: 1.6.2 > Reporter: Jayant Vaish > Priority: Blocker > Attachments: AXIS_5602.patch > > > I am having two services deployed on axis2-1.6.2 having following > axisServiceName: > 1. Service1/Start/WFmagic_cksXMrobEd2Fe4Kb1Aqw9Q > 2. Service1/Start > Passing messageContext in > org.apache.axis2.dispatchers.RequestURIBasedServiceDispatcher.findService(MessageContext) > > has following epr address: > > EndpointReference toEPR = messageContext.getTo(); > toEPR.getAddress() is > http://localhost:8080/axis2/services/Service1/Start/WFmagic_cksXMrobEd2Fe4Kb1Aqw9Q > So, expected axis service returned by > org.apache.axis2.dispatchers.RequestURIBasedServiceDispatcher.findService(MessageContext) > should be : "Service1/Start/WFmagic_cksXMrobEd2Fe4Kb1Aqw9Q" > But I am getting "Service1/Start" which is wrong !!! > Further looking into the code found the following snippet which seems to be > the culprit: > org.apache.axis2.dispatchers.RequestURIBasedServiceDispatcher.java > while (axisService == null && count < parts.length && > count < Constants.MAX_HIERARCHICAL_DEPTH) { > serviceName = count == 0 ? serviceName + parts[count] : > serviceName + "/" + parts[count]; > axisService = registry.getService(serviceName); > count++; > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org