Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.5.4
-
None
-
None
Description
The class org.apache.axis2.util.Utils implements the getOperationName(String path, String serviceName) method, which purpose is to "Compute the operation path from request URI using the servince name". This method is called during handling of REST style requests and contains the following line of code:
temp = path.split(serviceName + ".");
which is supposed to split the request URI on the boundary of the "<service name>." (service name followed by the dot character). The regular expression (serviceName + ".") is missing a backslash character before the dot. This effectively means that the regular expression matches the sequence "<service name><any character>" instead of "<service name><dot character>". Described behaviour causes problems, when the method's name contains service's name (e.g. when the service is called "echo" and the method is called "echoString"). The line of code mentioned above should look like:
temp = path.split(serviceName + "
.");