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]

Reply via email to