You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by am...@apache.org on 2009/08/17 06:37:13 UTC

svn commit: r804860 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java

Author: amilas
Date: Mon Aug 17 04:37:13 2009
New Revision: 804860

URL: http://svn.apache.org/viewvc?rev=804860&view=rev
Log:
if the axisService already exists in the axisconfiguration we need to use that inside the service client as well.

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=804860&r1=804859&r2=804860&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 Mon Aug 17 04:37:13 2009
@@ -167,20 +167,22 @@
         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;
+            this.axisService = axisService;
         } else {
             axisService.setClientSide(true);
             removeAxisService = false;
+            this.axisService = axisConfig.getService(axisService.getName());
         }
-        AxisServiceGroup axisServiceGroup = axisService.getAxisServiceGroup();
+        AxisServiceGroup axisServiceGroup = this.axisService.getAxisServiceGroup();
         ServiceGroupContext sgc = configContext.createServiceGroupContext(axisServiceGroup);
-        serviceContext = sgc.getServiceContext(axisService);
+        serviceContext = sgc.getServiceContext(this.axisService);
     }
 
 



Re: svn commit: r804860 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java

Posted by Amila Suriarachchi <am...@gmail.com>.
hi,

the service create here,

axisService = createAnonymousService();

does not have a service Group.

So
AxisServiceGroup axisServiceGroup = axisService.getAxisServiceGroup();
        ServiceGroupContext sgc =
configContext.createServiceGroupContext(axisServiceGroup);
        serviceContext = sgc.getServiceContext(axisService);

there will be an NullpointerException at the third statement.

AxisService axisService = axisServiceGroup.getService(service.getName());

see inside the sgc.getServiceContext(axisService) method.

So basically this code does not work if an AxisService already exists in the
AxisConfiguration.

Anyway if we take your scenario, I think the idea of using the same name is
that user wants to use the same existing service. And also I think there are
no changes happen to AxisService during a service invocation.

thanks,
Amila.



On Mon, Aug 17, 2009 at 10:33 AM, Deepal Jayasinghe <de...@opensource.lk>wrote:

> Amila,
>
> Let's say we are trying to invoke a service called "Echo" inside an
> application server (like tomcat), and further assume that we have a
> service called "Echo" in the server as well. Then what happen is you are
> going to change the server's service. I think that is not right.
>
> Deepal
>
> amilas@apache.org wrote:
> > Author: amilas
> > Date: Mon Aug 17 04:37:13 2009
> > New Revision: 804860
> >
> > URL: http://svn.apache.org/viewvc?rev=804860&view=rev
> > Log:
> > if the axisService already exists in the axisconfiguration we need to use
> that inside the service client as well.
> >
> > 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=804860&r1=804859&r2=804860&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
> Mon Aug 17 04:37:13 2009
> > @@ -167,20 +167,22 @@
> >          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;
> > +            this.axisService = axisService;
> >          } else {
> >              axisService.setClientSide(true);
> >              removeAxisService = false;
> > +            this.axisService =
> axisConfig.getService(axisService.getName());
> >          }
> > -        AxisServiceGroup axisServiceGroup =
> axisService.getAxisServiceGroup();
> > +        AxisServiceGroup axisServiceGroup =
> this.axisService.getAxisServiceGroup();
> >          ServiceGroupContext sgc =
> configContext.createServiceGroupContext(axisServiceGroup);
> > -        serviceContext = sgc.getServiceContext(axisService);
> > +        serviceContext = sgc.getServiceContext(this.axisService);
> >      }
> >
> >
> >
> >
> >
> >
>
> --
> Thank you!
>
>
> http://blogs.deepal.org
> http://deepal.org
>
>


-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Re: svn commit: r804860 - /webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/client/ServiceClient.java

Posted by Deepal Jayasinghe <de...@opensource.lk>.
Amila,

Let's say we are trying to invoke a service called "Echo" inside an
application server (like tomcat), and further assume that we have a
service called "Echo" in the server as well. Then what happen is you are
going to change the server's service. I think that is not right.

Deepal

amilas@apache.org wrote:
> Author: amilas
> Date: Mon Aug 17 04:37:13 2009
> New Revision: 804860
>
> URL: http://svn.apache.org/viewvc?rev=804860&view=rev
> Log:
> if the axisService already exists in the axisconfiguration we need to use that inside the service client as well.
>
> 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=804860&r1=804859&r2=804860&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 Mon Aug 17 04:37:13 2009
> @@ -167,20 +167,22 @@
>          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;
> +            this.axisService = axisService;
>          } else {
>              axisService.setClientSide(true);
>              removeAxisService = false;
> +            this.axisService = axisConfig.getService(axisService.getName());
>          }
> -        AxisServiceGroup axisServiceGroup = axisService.getAxisServiceGroup();
> +        AxisServiceGroup axisServiceGroup = this.axisService.getAxisServiceGroup();
>          ServiceGroupContext sgc = configContext.createServiceGroupContext(axisServiceGroup);
> -        serviceContext = sgc.getServiceContext(axisService);
> +        serviceContext = sgc.getServiceContext(this.axisService);
>      }
>  
>  
>
>
>
>   

-- 
Thank you!


http://blogs.deepal.org
http://deepal.org