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 ve...@apache.org on 2009/05/23 19:49:48 UTC
svn commit: r777976 - in /webservices/axis2/trunk/java/modules:
java2wsdl/src/org/apache/ws/java2wsdl/
kernel/src/org/apache/axis2/deployment/util/
kernel/src/org/apache/axis2/description/ kernel/src/org/apache/axis2/util/
Author: veithen
Date: Sat May 23 17:49:48 2009
New Revision: 777976
URL: http://svn.apache.org/viewvc?rev=777976&view=rev
Log:
AXIS2-4346: java.net.URL should not be used to represent endpoint URIs. Use String instead.
Modified:
webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/ClientUtils.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
Modified: webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java?rev=777976&r1=777975&r2=777976&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java Sat May 23 17:49:48 2009
@@ -411,13 +411,11 @@
private void setServiceEPR(AxisService axisService, String urlString)
throws Exception {
- URL url = new URL(urlString);
- Utils.addSoap11Endpoint(axisService, url);
- Utils.addSoap12Endpoint(axisService, url);
+ Utils.addSoap11Endpoint(axisService, urlString);
+ Utils.addSoap12Endpoint(axisService, urlString);
- String protocol = url.getProtocol();
- if ("http".equals(protocol)) {
- Utils.addHttpEndpoint(axisService, url);
+ if ("http".equals(org.apache.axis2.util.Utils.getURIScheme(urlString))) {
+ Utils.addHttpEndpoint(axisService, urlString);
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?rev=777976&r1=777975&r2=777976&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Sat May 23 17:49:48 2009
@@ -1170,20 +1170,30 @@
}
}
- public static void addSoap11Endpoint(AxisService axisService, URL url)
- throws Exception {
- String protocol = url.getProtocol();
- protocol = protocol.substring(0, 1).toUpperCase()
- + protocol.substring(1, protocol.length()).toLowerCase();
+ private static String getEndpointName(AxisService axisService, String protocol,
+ String soapVersion) {
+
+ StringBuilder buffer = new StringBuilder();
+ buffer.append(axisService.getName());
+ buffer.append(protocol.substring(0, 1).toUpperCase());
+ buffer.append(protocol.substring(1, protocol.length()).toLowerCase());
+ if (soapVersion != null) {
+ buffer.append(soapVersion);
+ }
+ buffer.append("Endpoint");
+ return buffer.toString();
+ }
- String serviceName = axisService.getName();
- String soap11EndpointName = serviceName + protocol + "Soap11Endpoint";
+ public static void addSoap11Endpoint(AxisService axisService, String url)
+ throws Exception {
+ String protocol = org.apache.axis2.util.Utils.getURIScheme(url);
+ String soap11EndpointName = getEndpointName(axisService, protocol, "Soap11");
AxisEndpoint httpSoap11Endpoint = new AxisEndpoint();
httpSoap11Endpoint.setName(soap11EndpointName);
httpSoap11Endpoint.setParent(axisService);
httpSoap11Endpoint.setEndpointURL(url.toString());
- httpSoap11Endpoint.setTransportInDescription(url.getProtocol());
+ httpSoap11Endpoint.setTransportInDescription(protocol);
populateSoap11Endpoint(axisService, httpSoap11Endpoint, null);
axisService.addEndpoint(httpSoap11Endpoint.getName(),
@@ -1192,38 +1202,31 @@
axisService.setEndpointName(soap11EndpointName);
}
- public static void addSoap12Endpoint(AxisService axisService, URL url)
+ public static void addSoap12Endpoint(AxisService axisService, String url)
throws Exception {
- String protocol = url.getProtocol();
- protocol = protocol.substring(0, 1).toUpperCase()
- + protocol.substring(1, protocol.length()).toLowerCase();
-
- String serviceName = axisService.getName();
- String soap12EndpointName = serviceName + protocol + "Soap12Endpoint";
+ String protocol = org.apache.axis2.util.Utils.getURIScheme(url);
+ String soap12EndpointName = getEndpointName(axisService, protocol, "Soap12");
AxisEndpoint httpSoap12Endpoint = new AxisEndpoint();
httpSoap12Endpoint.setName(soap12EndpointName);
httpSoap12Endpoint.setParent(axisService);
httpSoap12Endpoint.setEndpointURL(url.toString());
- httpSoap12Endpoint.setTransportInDescription(url.getProtocol());
+ httpSoap12Endpoint.setTransportInDescription(protocol);
populateSoap12Endpoint(axisService, httpSoap12Endpoint, null);
axisService.addEndpoint(httpSoap12Endpoint.getName(),
httpSoap12Endpoint);
}
- public static void addHttpEndpoint(AxisService axisService, URL url) {
- String serviceName = axisService.getName();
- String protocol = url.getProtocol();
- protocol = protocol.substring(0, 1).toUpperCase()
- + protocol.substring(1, protocol.length()).toLowerCase();
-
- String httpEndpointName = serviceName + protocol + "Endpoint";
+ public static void addHttpEndpoint(AxisService axisService, String url) {
+ String protocol = org.apache.axis2.util.Utils.getURIScheme(url);
+ String httpEndpointName = getEndpointName(axisService, protocol, null);
+
AxisEndpoint httpEndpoint = new AxisEndpoint();
httpEndpoint.setName(httpEndpointName);
httpEndpoint.setParent(axisService);
httpEndpoint.setEndpointURL(url.toString());
- httpEndpoint.setTransportInDescription(url.getProtocol());
+ httpEndpoint.setTransportInDescription(protocol);
populateHttpEndpoint(axisService, httpEndpoint, null);
axisService.addEndpoint(httpEndpoint.getName(), httpEndpoint);
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?rev=777976&r1=777975&r2=777976&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Sat May 23 17:49:48 2009
@@ -1470,14 +1470,10 @@
private String getLocationURI(String[] eprs, String epr) throws AxisFault {
String returnIP = null;
if (epr != null) {
- if (epr.indexOf(":") > -1) {
- String existingProtocol = epr.substring(0, epr.indexOf(":"))
- .trim();
- String eprProtocol;
+ String existingProtocol = org.apache.axis2.util.Utils.getURIScheme(epr);
+ if (existingProtocol != null) {
for (int i = 0; i < eprs.length; i++) {
- eprProtocol = eprs[i].substring(0, eprs[i].indexOf(":"))
- .trim();
- if (eprProtocol.equals(existingProtocol)) {
+ if (existingProtocol.equals(org.apache.axis2.util.Utils.getURIScheme(eprs[i]))) {
returnIP = eprs[i];
break;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/ClientUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/ClientUtils.java?rev=777976&r1=777975&r2=777976&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/ClientUtils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/ClientUtils.java Sat May 23 17:49:48 2009
@@ -27,6 +27,7 @@
import org.apache.axis2.engine.AxisConfiguration;
import org.apache.axis2.engine.ListenerManager;
import org.apache.axis2.i18n.Messages;
+import org.apache.axis2.util.Utils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -46,8 +47,7 @@
throws AxisFault {
String transportURI = (String) msgctx.getProperty(Constants.Configuration.TRANSPORT_URL);
if (transportURI != null && !"".equals(transportURI)) {
- int index = transportURI.indexOf(':');
- String transport = (index > 0) ? transportURI.substring(0, index) : null;
+ String transport = Utils.getURIScheme(transportURI);
if (transport != null) {
TransportOutDescription transportOut = ac.getTransportOut(transport);
if (transportOut == null) {
@@ -73,8 +73,7 @@
throw new AxisFault(Messages.getMessage("cannotInferTransportNoAddr"));
}
String uri = epr.getAddress();
- int index = uri.indexOf(':');
- String transport = (index > 0) ? uri.substring(0, index) : null;
+ String transport = Utils.getURIScheme(uri);
if (transport != null && ac.getTransportOut(transport) != null) {
return ac.getTransportOut(transport);
} else {
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java?rev=777976&r1=777975&r2=777976&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/Utils.java Sat May 23 17:49:48 2009
@@ -553,4 +553,15 @@
private static boolean isIP(String hostAddress) {
return hostAddress.split("[.]").length == 4;
}
+
+ /**
+ * Get the scheme part from a URI (or URL).
+ *
+ * @param uri the URI
+ * @return the scheme of the URI
+ */
+ public static String getURIScheme(String uri) {
+ int index = uri.indexOf(':');
+ return index > 0 ? uri.substring(0, index) : null;
+ }
}