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 de...@apache.org on 2007/06/12 03:29:27 UTC
svn commit: r546348 - in /webservices/axis2/trunk/java/modules/kernel: conf/
src/org/apache/axis2/deployment/ src/org/apache/axis2/description/
src/org/apache/axis2/transport/http/
src/org/apache/axis2/transport/http/server/ src/org/apache/axis2/transp...
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: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org