[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-cvs
Subject:    svn commit: r697463 -
From:       amilas () apache ! org
Date:       2008-09-21 9:48:48
Message-ID: 20080921094848.AF0BC238896B () eris ! apache ! org
[Download RAW message or body]

Author: amilas
Date: Sun Sep 21 02:48:48 2008
New Revision: 697463

URL: http://svn.apache.org/viewvc?rev=697463&view=rev
Log:
Let users to add AxisService to the AxisConfiguaration and call to the service \
client. in this case axisservice is not removed from the configuration context when \
service client is garbadge collected. 

Modified:
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java


Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java
                
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java?rev=697463&r1=697462&r2=697463&view=diff
 ==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java \
                (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java \
Sun Sep 21 02:48:48 2008 @@ -126,6 +126,8 @@
     
     private int hashCode;
 
+    private boolean removeAxisService;
+
     /**
      * Create a service client configured to work with a specific AxisService.
      * If this service is already in the world that's handed in (in the form of
@@ -168,17 +170,20 @@
 
         // save the axisConfig and service
         axisConfig = configContext.getAxisConfiguration();
+
         if (axisService == null) {
             axisService = createAnonymousService();
         }
         this.axisService = axisService;
+        // axis service is removed from the configuration context
+        // only if user has not added it to configuration context.
         if (axisConfig.getService(axisService.getName()) == null) {
             axisService.setClientSide(true);
             axisConfig.addService(axisService);
+            removeAxisService = true;
         } else {
-            throw new AxisFault(Messages.getMessage(
-                    "twoservicecannothavesamename",
-                    axisService.getName()));
+            axisService.setClientSide(true);
+            removeAxisService = false;
         }
         AxisServiceGroup axisServiceGroup = axisService.getAxisServiceGroup();
         ServiceGroupContext sgc = \
configContext.createServiceGroupContext(axisServiceGroup); @@ -811,7 +816,7 @@
             String serviceGroupName = \
                axisService.getAxisServiceGroup().getServiceGroupName();
             AxisConfiguration axisConfiguration = \
                configContext.getAxisConfiguration();
             AxisServiceGroup asg = \
                axisConfiguration.getServiceGroup(serviceGroupName);
-            if (asg != null) {
+            if ((asg != null) && removeAxisService) {
                 axisConfiguration.removeServiceGroup(serviceGroupName);
             }
         } else {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic