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