Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5004

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.5.4
    • None
    • kernel
    • 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 + "
      .");

      Attachments

        Activity

          People

            Unassigned Unassigned
            jaroslaw.balut 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