You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jayant Vaish (JIRA)" <ji...@apache.org> on 2013/08/08 12:54:49 UTC

[jira] [Updated] (AXIS2-5602) RequestURIBasedServiceDispatcher#findService is returning wrong axis service

     [ https://issues.apache.org/jira/browse/AXIS2-5602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jayant Vaish updated AXIS2-5602:
--------------------------------

    Description: 
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:

              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++;
                }




  was:
I am having two services deployed on axis2-1.6.3 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:

              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++;
                }




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