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 da...@apache.org on 2008/03/26 05:40:44 UTC

svn commit: r641144 - /webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java

Author: damrhei
Date: Tue Mar 25 21:40:44 2008
New Revision: 641144

URL: http://svn.apache.org/viewvc?rev=641144&view=rev
Log:
Make sure @WebService.name parameter is set correctly in the case of an explicitly defined SEI. 

Modified:
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java?rev=641144&r1=641143&r2=641144&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java Tue Mar 25 21:40:44 2008
@@ -675,6 +675,13 @@
                             getServiceDescriptionImpl().getDBCMap().get(seiClassName),
                             false,
                             this);
+                    
+                    // after this is constructed, we need to update the @WebService.name 
+                    // attribute on the axisService instance
+                    if(axisService != null) {
+                        updateWebServiceNameParameter(((EndpointInterfaceDescriptionImpl) 
+                                endpointInterfaceDescription).getAnnoWebServiceName(), axisService); 
+                    }
                 }
             }
         } else {
@@ -1058,6 +1065,13 @@
                                     getServiceDescriptionImpl().getDBCMap().get(seiClassName),
                                     false,
                                     this);
+                            
+                            // after this is constructed, we need to update the @WebService.name 
+                            // attribute on the axisService instance
+                            if(axisService != null) {
+                                updateWebServiceNameParameter(((EndpointInterfaceDescriptionImpl) 
+                                        endpointInterfaceDescription).getAnnoWebServiceName(), axisService); 
+                            }
                         }
 
                     } else {
@@ -2064,6 +2078,34 @@
         }
 
         return cl;
+    }
+    
+    /**
+     * This will update or set the parameter on the AxisService that represents the
+     * value of the @WebService.name attribute. This is needed since the @WebService.name
+     * value may not be known until the EndpointInterfaceDescription is created for
+     * the explicitly defined SEI.
+     */
+    void updateWebServiceNameParameter(String newName, AxisService service) {
+        if(log.isDebugEnabled()) {
+            log.debug("Setting @WebService.name value on the " + service.getName() + 
+                      " AxisService to: " + newName);
+        }
+        Parameter param = service.getParameter(MDQConstants.WSDL_PORTTYPE_NAME);
+        if(param != null) {
+            param.setValue(newName);
+        }
+        else {
+            param = new Parameter();
+            param.setName(MDQConstants.WSDL_PORTTYPE_NAME);
+            param.setValue(newName);
+            try {
+              service.addParameter(param);  
+            }
+            catch (AxisFault e) {
+                throw ExceptionFactory.makeWebServiceException(Messages.getMessage("setupAxisServiceErr2"),e);
+            }
+        }
     }
 }
 



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