Axis2
  1. Axis2
  2. AXIS2-5004

Missing backslash in a regular expression causes improper operation's name calculation

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.5.4
    • Fix Version/s: None
    • Component/s: kernel
    • Labels:
      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 + "
      .");

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Jarosław Bałut
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - 5m
              5m
              Remaining:
              Remaining Estimate - 5m
              5m
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development