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/02/12 08:40:44 UTC

svn commit: r506351 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java

Author: deepal
Date: Sun Feb 11 23:40:44 2007
New Revision: 506351

URL: http://svn.apache.org/viewvc?view=rev&rev=506351
Log:
applying the path in AXIS2-2122
 - Johan , Thx for the patch

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java

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=506351&r1=506350&r2=506351
==============================================================================
--- 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 Sun Feb 11 23:40:44 2007
@@ -664,7 +664,9 @@
             if (wsld4jdefinition != null) {
                 try {
                     Definition definition = (Definition) wsld4jdefinition.getValue();
-                    setPortAddress(definition);
+                    if (isModifyUserWSDLPortAddress()) {
+						setPortAddress(definition);
+					}
                     WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
                     writer.writeWSDL(definition, out);
                 } catch (WSDLException e) {
@@ -766,7 +768,9 @@
             if (wsld4jdefinition != null) {
                 try {
                     Definition definition = (Definition) wsld4jdefinition.getValue();
-                    setPortAddress(definition);
+					if (isModifyUserWSDLPortAddress()){
+						setPortAddress(definition);
+					}
                     WSDLWriter writer = WSDLFactory.newInstance().newWSDLWriter();
                     writer.writeWSDL(definition, out);
                 } catch (WSDLException e) {
@@ -783,6 +787,10 @@
     }
 
     private void setPortAddress(Definition definition) throws AxisFault {
+		setPortAddress(definition,null);
+    }
+
+    private void setPortAddress(Definition definition,String requestIP) throws AxisFault {
         Iterator serviceItr = definition.getServices().values().iterator();
         while (serviceItr.hasNext()) {
             Service serviceElement = (Service) serviceItr.next();
@@ -793,7 +801,11 @@
                 for (int i = 0; i < list.size(); i++) {
                     Object extensibilityEle = list.get(i);
                     if (extensibilityEle instanceof SOAPAddress) {
-                        ((SOAPAddress) extensibilityEle).setLocationURI(getEPRs()[0]);
+						if (requestIP==null) {
+							((SOAPAddress) extensibilityEle).setLocationURI(getEPRs()[0]);
+						} else {
+							((SOAPAddress) extensibilityEle).setLocationURI(getEPRs(requestIP)[0]);
+						}
                     }
                 }
             }
@@ -1850,6 +1862,22 @@
             }
         }
         return false;
+    }
+
+    /**
+     * By default the port address in user WSDLs is modified, set 
+     * the following parameter to override this behaviour	
+     * <parameter name="modifyUserWSDLPortAddress">false</parameter>
+     */
+    public boolean isModifyUserWSDLPortAddress() {
+        Parameter parameter = getParameter("modifyUserWSDLPortAddress");
+        if (parameter != null) {
+            String value = (String) parameter.getValue();
+            if ("false".equals(value)) {
+                return false;
+            }
+        }
+        return true;
     }
 
     public ServiceLifeCycle getServiceLifeCycle() {



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org