Author: deepal Date: Mon Jun 11 18:29:26 2007 New Revision: 546348 URL: http://svn.apache.org/viewvc?view=rev&rev=546348 Log: fixing a set of JIRA - please add the following parameter into axis2.xml then Axis2 will consider that as the host address. <parameter name="hostname" locked="true">myhost.com</parameter>
Modified: webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/HttpUtils.java webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java Modified: webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml (original) +++ webservices/axis2/trunk/java/modules/kernel/conf/axis2.xml Mon Jun 11 18:29:26 2007 @@ -66,6 +66,9 @@ <!-- Following parameter will completely disable REST handling in Axis2--> <parameter name="disableREST" locked="true">false</parameter> + <!-- Following parameter will set the host name for the epr--> + <!--<parameter name="hostname" locked="true">myhost.com</parameter>--> + <!-- If you have a front end host which exposes this webservice using a different public URL --> <!-- use this parameter to override autodetected url --> <!--<parameter name="httpFrontendHostUrl">https://someotherhost/context</parameter>--> Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Mon Jun 11 18:29:26 2007 @@ -36,6 +36,9 @@ <!-- Following parameter will completely disable REST handling in Axis2--> <parameter name="disableREST" locked="true">false</parameter> + <!-- Following parameter will set the host name for the epr--> + <!--<parameter name="hostname" locked="true">myhost.com</parameter>--> + <!-- ================================================= --> <!-- Message Receivers --> <!-- ================================================= --> 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?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- 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 Mon Jun 11 18:29:26 2007 @@ -841,7 +841,7 @@ } String requestIP; try { - requestIP = HttpUtils.getIpAddress(); + requestIP = HttpUtils.getIpAddress(getAxisConfiguration()); } catch (SocketException e) { throw new AxisFault("Cannot get local IP address", e); } Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java Mon Jun 11 18:29:26 2007 @@ -524,7 +524,7 @@ } if (ip == null) { try { - ip = HttpUtils.getIpAddress(); + ip = HttpUtils.getIpAddress(axisConfiguration); if (ip == null) { ip = "localhost"; } @@ -533,12 +533,15 @@ } } - - EndpointReference endpoint = new EndpointReference("http://" + ip + ":" + port + '/' + - configContext - .getServiceContextPath() + - "/" + - serviceName); + String endpointRefernce = "http://" + ip + ":" + port ; + if(configContext.getServiceContextPath().startsWith("/")){ + endpointRefernce = endpointRefernce + + configContext.getServiceContextPath() + "/" + serviceName; + } else { + endpointRefernce = endpointRefernce + '/' + + configContext.getServiceContextPath() + "/" + serviceName; + } + EndpointReference endpoint = new EndpointReference(endpointRefernce); return new EndpointReference[]{endpoint}; } Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java Mon Jun 11 18:29:26 2007 @@ -251,8 +251,15 @@ //if host address is present if (hostAddress != null) { if (embedded != null) { - return new EndpointReference[]{new EndpointReference(hostAddress + "/" + - configurationContext.getServiceContextPath() + "/" + serviceName)}; + String endpointRefernce = hostAddress ; + if(configurationContext.getServiceContextPath().startsWith("/")){ + endpointRefernce = endpointRefernce + + configurationContext.getServiceContextPath() + "/" + serviceName; + } else { + endpointRefernce = endpointRefernce + '/' + + configurationContext.getServiceContextPath() + "/" + serviceName; + } + return new EndpointReference[]{new EndpointReference(endpointRefernce)}; } else { throw new AxisFault("Unable to generate EPR for the transport : http"); } @@ -264,7 +271,7 @@ } else { try { if(localAddress==null){ - localAddress = HttpUtils.getIpAddress(); + localAddress = HttpUtils.getIpAddress(configurationContext.getAxisConfiguration()); } if (localAddress == null) { ipAddress = "127.0.0.1"; @@ -276,9 +283,17 @@ } } if (embedded != null) { - return new EndpointReference[]{new EndpointReference("http://" + ipAddress + ":" + - (embedded.getPort()) - + "/" + configurationContext.getServiceContextPath() + "/" + serviceName)}; + String endpointRefernce = "http://" + ip + ":" + embedded.getPort() ; + if(configurationContext.getServiceContextPath().startsWith("/")){ + endpointRefernce = endpointRefernce + + configurationContext.getServiceContextPath() + "/" + serviceName; + } else { + endpointRefernce = endpointRefernce + '/' + + configurationContext.getServiceContextPath() + "/" + serviceName; + } + + + return new EndpointReference[]{new EndpointReference(endpointRefernce)}; } else { throw new AxisFault("Unable to generate EPR for the transport : http"); } Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/HttpUtils.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/HttpUtils.java?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/HttpUtils.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/server/HttpUtils.java Mon Jun 11 18:29:26 2007 @@ -28,6 +28,9 @@ package org.apache.axis2.transport.http.server; import org.apache.axis2.transport.http.HTTPConstants; +import org.apache.axis2.transport.TransportListener; +import org.apache.axis2.engine.AxisConfiguration; +import org.apache.axis2.description.Parameter; import org.apache.http.Header; import java.net.InetAddress; @@ -84,6 +87,23 @@ } return address; + } + + /** + * First check whether the hostname parameter is there in AxisConfiguration (axis2.xml) , + * if it is there then this will retun that as the host name , o.w will return the IP address. + */ + public static String getIpAddress(AxisConfiguration axisConfiguration) throws SocketException { + if(axisConfiguration!=null){ + Parameter param = axisConfiguration.getParameter(TransportListener.HOST_ADDRESS); + if (param != null) { + String hostAddress = ((String) param.getValue()).trim(); + if(hostAddress!=null){ + return hostAddress; + } + } + } + return getIpAddress(); } private static boolean isIP(String hostAddress) { Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java?view=diff&rev=546348&r1=546347&r2=546348 ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java Mon Jun 11 18:29:26 2007 @@ -202,7 +202,7 @@ } if (ip == null) { try { - ip = HttpUtils.getIpAddress(); + ip = HttpUtils.getIpAddress(configContext.getAxisConfiguration()); } catch (SocketException e) { throw AxisFault.makeFault(e); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]