You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2012/02/06 15:56:00 UTC

svn commit: r1241031 - /axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java

Author: sagara
Date: Mon Feb  6 14:56:00 2012
New Revision: 1241031

URL: http://svn.apache.org/viewvc?rev=1241031&view=rev
Log:
Applied the patch for AXIS2-5058.

Modified:
    axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java

Modified: axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java?rev=1241031&r1=1241030&r2=1241031&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java (original)
+++ axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/HTTPWorker.java Mon Feb  6 14:56:00 2012
@@ -116,7 +116,12 @@ public class HTTPWorker implements Worke
                 }
             }
             if (HttpUtils.endsWithIgnoreCase(uri , "?wsdl2")) {
-                String serviceName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 6);
+                /**
+                 * service name can be hierarchical (axis2/services/foo/1.0.0/Version?wsdl2) or
+                 * normal (axis2/services/Version?wsdl2).
+                 */
+                String[] temp = uri.split(contextPath);
+                String serviceName = temp[1].substring(0, temp[1].length() - 6);
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
                 AxisService service = (AxisService) services.get(serviceName);
                 if (service != null) {
@@ -136,7 +141,7 @@ public class HTTPWorker implements Worke
                  * service name can be hierarchical (axis2/services/foo/1.0.0/Version?wsdl) or
                  * normal (axis2/services/Version?wsdl).
                  */
-                String[] temp = uri.split(configurationContext.getServiceContextPath() + "/");
+                String[] temp = uri.split(contextPath);
                 String serviceName = temp[1].substring(0, temp[1].length() - 5);
                 
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
@@ -154,7 +159,12 @@ public class HTTPWorker implements Worke
                 }
             }
             if (HttpUtils.endsWithIgnoreCase(uri , "?xsd")) {
-                String serviceName = uri.substring(uri.lastIndexOf("/") + 1, uri.length() - 4);
+                /**
+                 * service name can be hierarchical (axis2/services/foo/bar/Version) or
+                 * normal (axis2/services/Version).
+                 */
+                String[] temp = uri.split(contextPath);
+                String serviceName = temp[1].substring(0, temp[1].length() - 4);
                 HashMap services = configurationContext.getAxisConfiguration().getServices();
                 AxisService service = (AxisService) services.get(serviceName);
                 if (service != null) {
@@ -173,8 +183,9 @@ public class HTTPWorker implements Worke
             if (HttpUtils.indexOfIngnoreCase(uri , "?xsd=") > 0) {
             	// fix for imported schemas
             	String[] uriParts = uri.split("[?]xsd=");
-                String serviceName =
-                        uri.substring(uriParts[0].lastIndexOf("/") + 1, uriParts[0].length());
+                // fix for hierarchical service names
+                String[] temp = uriParts[0].split(contextPath);
+                String serviceName = temp[1];
                 String schemaName = uri.substring(uri.lastIndexOf("=") + 1);
 
                 HashMap services = configurationContext.getAxisConfiguration().getServices();