RE: Increase performance using axis 2 client stubs
Here is some code we use. Basically it uses commons pooling and creates a pool of stubs. The expensive operation of creating the axis2 configuration etc is only done once. It would be simple to wrap it as a proxy of your stub interface and put the attached code in the proxy and so the implementation details hidden from the caller. Hope it helps. P _ From: hakon.sageh...@googlemail.com [mailto:hakon.sageh...@googlemail.com] On Behalf Of Håkon Sagehaug Sent: 09 October 2009 12:02 To: axis-user@ws.apache.org Subject: Increase performance using axis 2 client stubs hi all, In our project we've got a web portal that uses web services, that we call by generating stubs using axis2 lib, as the back bone. I'm looking for ways to improve the performance in the calling bit now I've stated reusing the HttpClient object that is used, we have a Util class that wrappes the logic of calliing all the services so for now we're interacting with three, and all uses the same HttpClient object. Should every call be inside a syncronized block?like this synchronized(httpClient){ call service } Or is it a better way to do this?Could the http clients be in a pool managed by tomcat in some way? Also if there is any other tricks on how to increase performace on client side axis2 calls, please say how cheers, Håkon -- Håkon Sagehaug, Scientific Programmer Parallab, Bergen Center for Computational Science (BCCS) UNIFOB AS (University of Bergen Research Company) Axis2ClientWebService1.java Description: Binary data
RE: many threads invoking the same service
Hello Alexis, I went through the same type of questions as you on this forum a while back. The eventual outcome from which I did not have time to definitely confirm is that the service client is not thread safe. Apparently it is due to how axis2 is designed. I could not understand why a service client cannot be thread safe but never got a satisfactory answer. Anyhow I gave up and in the end created one AxisConfiguration for many service clients maintained in a commons pool. I'll be watching this thread with interest since I would like to know why a service client is not thread safe. Good luck. P _ From: Alexis Midon [mailto:mi...@intalio.com] Sent: 13 March 2009 21:12 To: axis-user Subject: many threads invoking the same service Hey there, I have a few questions about how to use ServiceClient when many threads invoke the same service. In my scenario, multiple threads invoke the same service. The immediate solution is to instantiate a new ServiceClient for each call. client = new ServiceClient(); // [case-1] But this involves recreating expensive resources like AxisConfiguration. In addition to these performance considerations, this solution ruins any programatic configuration that could take place before and that could be shared among ServiceClient instances. This is why a ConfigurationContext might be passed to ServiceClient: client = new ServiceClient(configContext, null); // [case-2] By doing that each ServiceClient creates its own anonymous service. However in my case i. the service is the same for all threads and ii. extra tweaking is done with a ServiceBuilder. So I'd like to share a single service instance across ServiceClient instances to save resources: client = new ServiceClient(configContext, myService); // [case-3] Unfortunately, in that case, exceptions are thrown because the AxisConfig instance already helds a reference on the service instance. org.apache.axis2.AxisFault: Two services cannot have same name. A service with the FOO name already exists in the system. at org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.j ava:172) at org.apache.axis2.client.ServiceClient.init(ServiceClient.java:139) A way to workaround this is to create the ServiceClient with no service, and then explicitly assign the service: client = new ServiceClient(configContext, null);// [case-4] client.setAxisService(myService); This works pretty well, until a race condition kicks in: org.apache.axis2.AxisFault: The FOO service, which is not valid, does not belong to the FOO service group. at org.apache.axis2.context.ServiceGroupContext.getServiceContext(ServiceGroupC ontext.java:138) at org.apache.axis2.client.ServiceClient.setAxisService(ServiceClient.java:829) This race condition seems to be fixed in axis2 1.4 by getting a lock on the AxisConfiguration instance. So my questions are: a. generally speaking what are the best practices/recommendations for the scenario described here? b. case-3 and case-4 reveal that the constructor and the setAxisService method do not have the same behavior. The former fails if the service is already in the AxisConfiguration, the latter removes the service (if any) then adds the new service instance. Should this be considered as a bug? c. but in the first place, why do we need to add the service instance to the main AxisConfiguration? The service used by the ServiceClient might be considered as a local object, why should the AxisConfiguration be aware of it? Its scope should be limited and it shouldn't leak to the global configuration. The static counter for anonymous services [2] sounds like a hack to workaround a design issue. What am I missing here? Thanks in advance for your time and answers. Alexis [1] ServiceClient, line 175 http://tr.im/hjts [2] ServiceClient, method createAnonymousService, http://tr.im/hlxm http://markmail.org/thread/f33xvusqinzh2pm7
RE: Axis2 consumer within Axis2 provider classpath issue
Bump? Anyone?? _ From: Paul French [mailto:paul.fre...@kirona.com] Sent: 05 February 2009 10:25 To: axis-user@ws.apache.org Subject: RE: Axis2 consumer within Axis2 provider classpath issue Any chance someone could give some insight into this thread? I've created a web client project (project A), to use this project you need to specify the respository location and axis2.xml file location since if you need to add modules/handlers you can. Hence somewhere on the file system I have the following setup respository/axis2.xml respository/modules/myLoggingModule.mar Project A is built into a jar and works perfectly fine standalone. I have a web application (project B) that has an axis2 web service (the axis2 servlet has been merged into the web application). Hence part of this web application has the structure WEB-INF/axis2.xml WEB-INF/services/MyWebService/META-INF/services.xml WEB-INF/modules/myLoggingModule.mar Now I need to use the the web client (project A) in the web application (project B). Basically I am struggling to see how to do this? I am now assuming it is not a good idea to try and share the same AxisConfiguration like is mentioned in Deepal's book. Any pointers would be appreciated. Paul _ From: matthias.gai...@t-systems.com [mailto:matthias.gai...@t-systems.com] Sent: 03 February 2009 08:05 To: axis-user@ws.apache.org Subject: AW: Axis2 consumer within Axis2 provider classpath issue Hi group, I am jumping in as well.. I got the same question what the recommended way is in such a case? I got problems that the handlers were used for my service and my stub communications which confused me. Any standard ways here? Matthias. Von: Paul French [mailto:paul.fre...@kirona.com] Gesendet: Mittwoch, 14. Januar 2009 10:41 An: axis-user@ws.apache.org Betreff: RE: Axis2 consumer within Axis2 provider classpath issue Apologies for jumping in on this thread but I too would be very interested in the recommended way to provide an AXIS2 web service which may contain AXIS2 client stubs to other web services. I believe I read some where that you need to use the same ConfigurationContext for both? This would only make sense to me if you plan to provide the same handlers and modules for both. For example I have a web service client stub that works great (as a jar file) - the axis2.xml file is in the classpath I have an AXIS2 web service which works great where the axis2.xml file is in the WEB-INF directory. (axis2 included as part of the web application) How would you combine the two? _ From: Hundtofte, Rex A [mailto:rex.hundto...@eds.com] Sent: 14 January 2009 05:43 To: axis-user@ws.apache.org Subject: Axis2 consumer within Axis2 provider classpath issue I am getting a NoClassDefFoundError when my Axis2 consumer code is executed inside of an Axis2 provided web service. I have an aar file deployed to my web server, the consumer code and generated client stub classes are in separate jar files under the WEB-INF/lib directory. The incoming request processes fine but apparently the classloader that needs to load the consumer Axis2 classes cannot find the Axis2 classes. I appreciate any tips on how I might resolve this issue? Thanks, Rex Hundtofte __ NOD32 3763 (20090113) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com __ NOD32 3820 (20090203) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com __ NOD32 3828 (20090205) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: Axis2 consumer within Axis2 provider classpath issue
Any chance someone could give some insight into this thread? I've created a web client project (project A), to use this project you need to specify the respository location and axis2.xml file location since if you need to add modules/handlers you can. Hence somewhere on the file system I have the following setup respository/axis2.xml respository/modules/myLoggingModule.mar Project A is built into a jar and works perfectly fine standalone. I have a web application (project B) that has an axis2 web service (the axis2 servlet has been merged into the web application). Hence part of this web application has the structure WEB-INF/axis2.xml WEB-INF/services/MyWebService/META-INF/services.xml WEB-INF/modules/myLoggingModule.mar Now I need to use the the web client (project A) in the web application (project B). Basically I am struggling to see how to do this? I am now assuming it is not a good idea to try and share the same AxisConfiguration like is mentioned in Deepal's book. Any pointers would be appreciated. Paul _ From: matthias.gai...@t-systems.com [mailto:matthias.gai...@t-systems.com] Sent: 03 February 2009 08:05 To: axis-user@ws.apache.org Subject: AW: Axis2 consumer within Axis2 provider classpath issue Hi group, I am jumping in as well.. I got the same question what the recommended way is in such a case? I got problems that the handlers were used for my service and my stub communications which confused me. Any standard ways here? Matthias. Von: Paul French [mailto:paul.fre...@kirona.com] Gesendet: Mittwoch, 14. Januar 2009 10:41 An: axis-user@ws.apache.org Betreff: RE: Axis2 consumer within Axis2 provider classpath issue Apologies for jumping in on this thread but I too would be very interested in the recommended way to provide an AXIS2 web service which may contain AXIS2 client stubs to other web services. I believe I read some where that you need to use the same ConfigurationContext for both? This would only make sense to me if you plan to provide the same handlers and modules for both. For example I have a web service client stub that works great (as a jar file) - the axis2.xml file is in the classpath I have an AXIS2 web service which works great where the axis2.xml file is in the WEB-INF directory. (axis2 included as part of the web application) How would you combine the two? _ From: Hundtofte, Rex A [mailto:rex.hundto...@eds.com] Sent: 14 January 2009 05:43 To: axis-user@ws.apache.org Subject: Axis2 consumer within Axis2 provider classpath issue I am getting a NoClassDefFoundError when my Axis2 consumer code is executed inside of an Axis2 provided web service. I have an aar file deployed to my web server, the consumer code and generated client stub classes are in separate jar files under the WEB-INF/lib directory. The incoming request processes fine but apparently the classloader that needs to load the consumer Axis2 classes cannot find the Axis2 classes. I appreciate any tips on how I might resolve this issue? Thanks, Rex Hundtofte __ NOD32 3763 (20090113) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com __ NOD32 3820 (20090203) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: More than 1 Spring .aar in Axis2
How about taking a copy of this one class and putting that in your service .aar file. I think that might work since each service will have its own classloader and so own copy of the ApplicationContextHolder. You could leave the spring libraries in WEB-INF/lib then? -Original Message- From: robert lazarski [mailto:robertlazar...@gmail.com] Sent: 21 January 2009 10:47 To: axis-user@ws.apache.org Subject: Re: More than 1 Spring .aar in Axis2 On Wed, Jan 21, 2009 at 1:18 AM, Amila Suriarachchi amilasuriarach...@gmail.com wrote: I think the problem is with the org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder public class ApplicationContextHolder implements ApplicationContextAware { private static ApplicationContext appCtx; public ApplicationContextHolder() { } /** Spring supplied interface method for injecting app context. */ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { appCtx = applicationContext; } /** Access to spring wired beans. */ public static ApplicationContext getContext() { return appCtx; } } this class always keep the latest Application context which is used by the object supplier. You may have to put the axis2-spring- .jar also you your aar/lib folder instead of keeping it in WEB-INF/lib. thanks, Amila. Absolutely true, the docs mention this. Robert __ NOD32 3784 (20090121) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: Axis2 consumer within Axis2 provider classpath issue
Apologies for jumping in on this thread but I too would be very interested in the recommended way to provide an AXIS2 web service which may contain AXIS2 client stubs to other web services. I believe I read some where that you need to use the same ConfigurationContext for both? This would only make sense to me if you plan to provide the same handlers and modules for both. For example I have a web service client stub that works great (as a jar file) - the axis2.xml file is in the classpath I have an AXIS2 web service which works great where the axis2.xml file is in the WEB-INF directory. (axis2 included as part of the web application) How would you combine the two? _ From: Hundtofte, Rex A [mailto:rex.hundto...@eds.com] Sent: 14 January 2009 05:43 To: axis-user@ws.apache.org Subject: Axis2 consumer within Axis2 provider classpath issue I am getting a NoClassDefFoundError when my Axis2 consumer code is executed inside of an Axis2 provided web service. I have an aar file deployed to my web server, the consumer code and generated client stub classes are in separate jar files under the WEB-INF/lib directory. The incoming request processes fine but apparently the classloader that needs to load the consumer Axis2 classes cannot find the Axis2 classes. I appreciate any tips on how I might resolve this issue? Thanks, Rex Hundtofte __ NOD32 3763 (20090113) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: Modules and Handlers
Hello Amila, thanks for your input. As far as I can tell Axis2 provides Spring integration for services but not modules hence the link you provided below does not help me. Having to obtain the required resources from the configuration context on every invoke method of the handler method is not ideal in my opinion. I prefer to setup all my required dependencies on startup of the module and so can throw the appropriate exceptions at that point. ta, Paul _ From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 30 December 2008 02:33 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers On Mon, Dec 29, 2008 at 7:38 PM, Paul French paul.fre...@kirona.com wrote: Unfortunatley you cannot. The module.init() method is called after the handler.init() methods and so any setup you do in the module init is not available to the handlers. Module init() is called after handler init(). but those init methods are called before each handler get invoked. Therefore what ever you initialized and put to the configuration context is available for handler invocations. So the normal way is to initialize what ever in the module init() method which are required in handler invocations. Anyway I am not clear about your requirement. In the end I created my resources in the module constructor since the module class is instantiated before the handlers. For example I initialise Spring as follows: public ModuleLogger() { String[] contexts = new String[] {logging_module_spring.xml}; ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext(contexts,false); ac.setClassLoader(this.getClass().getClassLoader()); ac.refresh(); } Then in the handler.init() method I obtain the spring context from the ApplicationContextHolder and grab all resources required to support the handler e.g. DataSource If you use spring please look at here[1]. you can initialize things at the startup method. It is worth to note that all these initializing methods are happened at deployment time. and hence before processing any requests. thanks, Amila. [1]http://ws.apache.org/axis2/1_4_1/spring.html Cheers, Paul _ From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 29 December 2008 05:29 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers On Sun, Dec 28, 2008 at 11:53 PM, Paul French paul.fre...@kirona.com wrote: The handler.init method is not passed the configuration context. So I suppose I have to obtain the resources on each invocation of the invoke or revoke method of the handler. Being a big Spring fan I was looking for a way to configure my module and handlers up front. you have to use the module init method. write a class which implements the Module interface and declare it in the module.xml. module name=moduleName class=moduleClass thanks, Amila. Thanks -Original Message- From: Deepal jayasinghe [mailto:deep...@gmail.com] Sent: 28 December 2008 17:47 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers Paul French wrote: I have written a simple Module that logs all SOAP messages into a database. My handlers needs access to resources setup in the Module init method e.g a DataSource I cannot see how a handler can get access to resources setup in the module? Can someone give me a clue? At the initialization put the resources into the ConfigurationContext, and then you can access at the runtime Deepal Thanks Paul -- Thank you! http://blogs.deepal.org http://deepal.org __ NOD32 3719 (20081227) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
RE: Modules and Handlers
Unfortunatley you cannot. The module.init() method is called after the handler.init() methods and so any setup you do in the module init is not available to the handlers. In the end I created my resources in the module constructor since the module class is instantiated before the handlers. For example I initialise Spring as follows: public ModuleLogger() { String[] contexts = new String[] {logging_module_spring.xml}; ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext(contexts,false); ac.setClassLoader(this.getClass().getClassLoader()); ac.refresh(); } Then in the handler.init() method I obtain the spring context from the ApplicationContextHolder and grab all resources required to support the handler e.g. DataSource Cheers, Paul _ From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 29 December 2008 05:29 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers On Sun, Dec 28, 2008 at 11:53 PM, Paul French paul.fre...@kirona.com wrote: The handler.init method is not passed the configuration context. So I suppose I have to obtain the resources on each invocation of the invoke or revoke method of the handler. Being a big Spring fan I was looking for a way to configure my module and handlers up front. you have to use the module init method. write a class which implements the Module interface and declare it in the module.xml. module name=moduleName class=moduleClass thanks, Amila. Thanks -Original Message- From: Deepal jayasinghe [mailto:deep...@gmail.com] Sent: 28 December 2008 17:47 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers Paul French wrote: I have written a simple Module that logs all SOAP messages into a database. My handlers needs access to resources setup in the Module init method e.g a DataSource I cannot see how a handler can get access to resources setup in the module? Can someone give me a clue? At the initialization put the resources into the ConfigurationContext, and then you can access at the runtime Deepal Thanks Paul -- Thank you! http://blogs.deepal.org http://deepal.org __ NOD32 3719 (20081227) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
client side modules
Can anyone give me any pointers how to deploy a module on the client side? If I create a client stub to call a web service from within a web application that also provides an axis2 web service then I believe all I need to do is re-use the configuration context created by the web service? Is this correct? What about in a standalone java application. How do I deploy a module in that scenario. Since I do not have a web application I don't have a WEB-INF/modules/ file structure? I'm a bit lost, any help will be appreciated. Thanks Paul
RE: client side modules
Many thanks, I didn't spot that particular flavour of method createConfigurationContext Paul _ From: Eran Chinthaka [mailto:eran.chinth...@gmail.com] Sent: 29 December 2008 16:42 To: axis-user@ws.apache.org Subject: Re: client side modules ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem( null, pathToYourRepository); SimpleHTTPServer simpleServer = new SimpleHTTPServer(configContext, YourPort); simpleServer.start(); With Mettha, Eran Chinthaka Health is the greatest gift; contentment is the greatest wealth; trusting is the best relationship; nirvana is the highest joy. - Dhammapada On Mon, Dec 29, 2008 at 11:14 AM, Paul French paul.fre...@kirona.com wrote: Can anyone give me any pointers how to deploy a module on the client side? If I create a client stub to call a web service from within a web application that also provides an axis2 web service then I believe all I need to do is re-use the configuration context created by the web service? Is this correct? What about in a standalone java application. How do I deploy a module in that scenario. Since I do not have a web application I don't have a WEB-INF/modules/ file structure? I'm a bit lost, any help will be appreciated. Thanks Paul
Modules and Handlers
I have written a simple Module that logs all SOAP messages into a database. My handlers needs access to resources setup in the Module init method e.g a DataSource I cannot see how a handler can get access to resources setup in the module? Can someone give me a clue? Thanks Paul
RE: Modules and Handlers
The handler.init method is not passed the configuration context. So I suppose I have to obtain the resources on each invocation of the invoke or revoke method of the handler. Being a big Spring fan I was looking for a way to configure my module and handlers up front. Thanks -Original Message- From: Deepal jayasinghe [mailto:deep...@gmail.com] Sent: 28 December 2008 17:47 To: axis-user@ws.apache.org Subject: Re: Modules and Handlers Paul French wrote: I have written a simple Module that logs all SOAP messages into a database. My handlers needs access to resources setup in the Module init method e.g a DataSource I cannot see how a handler can get access to resources setup in the module? Can someone give me a clue? At the initialization put the resources into the ConfigurationContext, and then you can access at the runtime Deepal Thanks Paul -- Thank you! http://blogs.deepal.org http://deepal.org __ NOD32 3719 (20081227) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: thread safe axis2 client stub
Say I create a single client stub, I have not seen it mentioned that you need to cleanup the transport after you are done with the client stub? Hence why do you need to do it in the below case? By the way, I do appreciate all the comments made so far on this issue. My understanding has increased due to your comments. We used the commons pooling approach in the end but only creating one ConfigurationContext. This seems to work well. The only thing that worries me now is Deepals last comment. Any insight into this? Merry Xmas. -Original Message- From: Deepal jayasinghe [mailto:deep...@gmail.com] Sent: 21 December 2008 15:00 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub Yes, creating ConfigurationContext is very expensive since it involve reading various files. So as Thilina mentioned create a ConfigurationContext and use the created ConfigurationContext for subsequent call. Simply when you create the stub pass the same configuration context. However when you use this approach, do not forget to cleanup the transport. You can do that by getting the service client from the stub, and calling its cleanup transport method. Deepal AFAIK creating a stub is not expensive, but creating the AxisConfiguration ConfigurationContext is very expensive. You can create one AxisConfiguration ConfigurationContext and share it across any number of clients. No need to create them per thread basis.. thanks, Thilina On Mon, Dec 15, 2008 at 12:51 AM, Shehan Simen ssi...@itree.com.au mailto:ssi...@itree.com.au wrote: Hi Samera, So do we have to create a ConfigurationContext for each thread? Is'nt it too much for each thread? Regards, Shehan *From:* Sameera Jayasoma [mailto:sameera.madus...@gmail.com mailto:sameera.madus...@gmail.com] *Sent:* 2008-12-15 15:06 *To:* axis-user@ws.apache.org mailto:axis-user@ws.apache.org *Subject:* Re: thread safe axis2 client stub On Tue, Dec 9, 2008 at 9:50 PM, Paul French paul.fre...@kirona.com mailto:paul.fre...@kirona.com wrote: This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. you get the above message, when creating a new ConfigurationContext instance. Creating a CC instance is a heavy operation, therefore you can instantiate a CC instance once and use it for all subsequent calls. Sameera The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul -- -- *From:* Amila Suriarachchi [mailto:amilasuriarach...@gmail.com mailto:amilasuriarach...@gmail.com] *Sent:* 09 December 2008 04:26 *To:* axis-user@ws.apache.org mailto:axis-user@ws.apache.org *Subject:* Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen ssi...@itree.com.au mailto:ssi...@itree.com.au wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20st ub%20thread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results *From:* Amila Suriarachchi [mailto:amilasuriarach...@gmail.com mailto:amilasuriarach...@gmail.com] *Sent:* 2008-12-08 15:26 *To:* axis-user@ws.apache.org mailto:axis-user@ws.apache.org *Subject:* Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen ssi...@itree.com.au mailto:ssi...@itree.com.au wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan *From:* Amila Suriarachchi [mailto:amilasuriarach...@gmail.com
RE: Axis2 module + Spring
Thanks for the reply. Its not what I am after though. We have AXIS2 as part of our web application. We have web services which are defined as beans in the Spring application context loaded as part of the web application. We also want our modules defined as beans from the same application context. For example our logging module requires a datasource. This datasource is already defined in Spring for the web application. I suppose I am trying to avoid having to setup things twice in 2 different places. Thanks Paul -Original Message- From: robert lazarski [mailto:robertlazar...@gmail.com] Sent: 16 December 2008 13:37 To: axis-user@ws.apache.org Subject: Re: Axis2 module + Spring On Tue, Dec 16, 2008 at 7:52 AM, Paul French paul.fre...@kirona.com wrote: Hello All, There is support to supply a Spring managed bean as a service using the ServiceObjectSupplier parameter in the services.xml. However is there similar support for modules? For example I want to log all Soap messages into a database from a module. I would like to obtain a fully configured module handler from Spring. Is this possible? Thanks Paul Getting spring setup sort of anyplace, anytime like axis2 does is pretty simple, and you could use this ApplicationContextHolder class that comes with the distro. The only thing I'm not sure about with concerning modules is getting a handle to a Classloader reference, since you need either a servlet container or the Classloader from Axis2Service when used to integrate Axis2 services. A module though is totally different and you may not really need to integrate with axis2, just run spring inside of it. In that case, I'd try something like(not tested): public class MyModule implements Module { // initialize the module public void init(ConfigurationContext configContext, AxisModule module) throws AxisFault { ClassLoader classLoader = getClass().getClassLoader(); ClassPathXmlApplicationContext appCtx = new ClassPathXmlApplicationContext(new String[] {applicationContext.xml}, false); appCtx.setClassLoader(classLoader); appCtx.refresh(); } define this bean as shown in the docs: !-- Configure spring to give a hook to axis2 without a ServletContext -- bean id=applicationContext class=org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder / Then every time you need a bean reference: ApplicationContext aCtx = ApplicationContextHolder.getContext(); MyObject = (MyObject) aCtx.getBean(myBean); HTH, Robert __ NOD32 3695 (20081216) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
Axis2 module + Spring
Hello All, There is support to supply a Spring managed bean as a service using the ServiceObjectSupplier parameter in the services.xml. However is there similar support for modules? For example I want to log all Soap messages into a database from a module. I would like to obtain a fully configured module handler from Spring. Is this possible? Thanks Paul
RE: thread safe axis2 client stub
I would have thought making the client stub thread safe would be the superior solution. If this cannot be done then I would opt for the pooling solution. Out of interest is this a general problem due a specific API that axis2 has implemented or is it an axis2 design problem? Is there another web service stack out there that can create thread safe clients? Thanks _ From: Martin Gainty [mailto:mgai...@hotmail.com] Sent: 15 December 2008 02:01 To: paul.fre...@kirona.com Subject: RE: thread safe axis2 client stub If you have a ThreadedPool approach for client stub you can submit the code to axis-dev As the majority of implementations I've seen are single desktop and or browserclient as the majority of clients start in public static main(String args) and refactor the the service code to a 'thread-safe' client I would start by changing the command line parameters at org.apache.axis2.wsdl.WSDL2Code.java the annotations are handled at org.apache.axis2.wsdl.codegen.emitter.jaxws.AnnotationElementBuilder static Element buildWebServiceClientAnnotationElement(String name, String targetNS, String wsdlLocation,Document doc) (notice the static signature)so I would try to change this but the real heart of the client stub writer sits at org.apache.axis2.wsdl.codegen.emitter public class CEmitter extends AxisServiceBasedMultiLanguageEmitter specifically writeFile e.g. /*** Writes the Stub.** @throws Exception */ protected void writeCStub() throws Exception { // first check for the policies in this service and write them Document interfaceImplModel = createDOMDocumentForInterfaceImplementation(); CStubHeaderWriter writerHStub = new CStubHeaderWriter(getOutputDirectory(codeGenConfiguration.getOutputLocation( ), codeGenConfiguration.getSourceLocation()), codeGenConfiguration.getOutputLanguage()); writeFile(interfaceImplModel, writerHStub); CStubSourceWriter writerCStub = new CStubSourceWriter(getOutputDirectory(codeGenConfiguration.getOutputLocation( ), codeGenConfiguration.getSourceLocation()), codeGenConfiguration.getOutputLanguage()); writeFile(interfaceImplModel, writerCStub); } //and the final writer code is in AxisServiceBasedMultiLanguageEmitter org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter /** * A resusable method for the implementation of interface and implementation writing. * @param model * @param writer * @throws java.io.IOException * @throws Exception */ protected void writeFile(Document model, FileWriter writer) throws IOException, Exception { writer.loadTemplate(); String packageName = model.getDocumentElement().getAttribute(package); String className = model.getDocumentElement().getAttribute(name); writer.createOutFile(packageName, className); // use the global resolver //at this point you will want to make sure the statics are now class are now objects plenty of logging will be helpful writer.parse(model, resolver); } HTH Martin __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. _ From: paul.fre...@kirona.com To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Date: Sun, 14 Dec 2008 21:35:05 + Bump! Anyone? If Axis2 is to be performant then can someone from the Axis2 development team explain the best way to call a web service using Axis2 client stubs? We have a web application where a user interaction initiates a web service call. Are we expected to store one client stub per thread in a thread local or create a pool of client stubs? I would also like to know why a client stub is not thread safe? Thanks. _ From: Paul French [mailto:paul.fre...@kirona.com] Sent: 10 December 2008 12:37 To: 'axis-user@ws.apache.org' Subject: RE: thread safe axis2 client stub Can anyone comment on this? It is a major issue for us. Why is the client stub created not thread safe? If it cannot be made thread safe then how can you avoid the huge overhead of instantiating a new client stub per web service call? _ From: Shehan Simen [mailto:ssi...@itree.com.au] Sent: 10 December 2008 01:24 To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Yes, I am expecting an answer from someone who develop the axis2. It is very inefficient to create a stub for each call. Regards, Shehan From: Paul French [mailto:paul.fre...@kirona.com] Sent: 2008-12-10 03:29 To: axis-user@ws.apache.org; 'David Ojeda' Subject: RE: thread safe
RE: thread safe axis2 client stub
Bump! Anyone? If Axis2 is to be performant then can someone from the Axis2 development team explain the best way to call a web service using Axis2 client stubs? We have a web application where a user interaction initiates a web service call. Are we expected to store one client stub per thread in a thread local or create a pool of client stubs? I would also like to know why a client stub is not thread safe? Thanks. _ From: Paul French [mailto:paul.fre...@kirona.com] Sent: 10 December 2008 12:37 To: 'axis-user@ws.apache.org' Subject: RE: thread safe axis2 client stub Can anyone comment on this? It is a major issue for us. Why is the client stub created not thread safe? If it cannot be made thread safe then how can you avoid the huge overhead of instantiating a new client stub per web service call? _ From: Shehan Simen [mailto:ssi...@itree.com.au] Sent: 10 December 2008 01:24 To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Yes, I am expecting an answer from someone who develop the axis2. It is very inefficient to create a stub for each call. Regards, Shehan From: Paul French [mailto:paul.fre...@kirona.com] Sent: 2008-12-10 03:29 To: axis-user@ws.apache.org; 'David Ojeda' Subject: RE: thread safe axis2 client stub http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results _ From: David Ojeda [mailto:dojeda-l...@integra.la] Sent: 09 December 2008 16:16 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I am also interested in this matter. I would like to hear Deepal's opinion, since he was the one who said that it is not thread safe. Paul: You said: The link below suggests some tricks you can do to make things more efficient. What are these tricks? What link? Cheers, David On Tuesday 09 December 2008 11:50:31 Paul French wrote: This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul _ From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 09 December 2008 04:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen ssi...@itree.com.au wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20 t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 2008-12-08 15:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen ssi...@itree.com.au wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan From: Amila Suriarachchi [mailto:amilasuriarach...@gmail.com] Sent: 2008-12-08 15:13 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub yes thanks, Amila. On Mon, Dec 8, 2008 at 9:31 AM, Shehan Simen ssi...@itree.com.au wrote: Hi, I am going to invoke a web service via a client stub generated by axis2. I want to have a single instance of the stub across my application. So when I initiate the stub (when I call the constructor), I don't like to call it again throughout my application. Is it thread safe? Regards, Shehan -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- David Ojeda __ NOD32 3677 (20081209) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com __ NOD32 3680 (20081210) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: thread safe axis2 client stub
Can anyone comment on this? It is a major issue for us. Why is the client stub created not thread safe? If it cannot be made thread safe then how can you avoid the huge overhead of instantiating a new client stub per web service call? _ From: Shehan Simen [mailto:[EMAIL PROTECTED] Sent: 10 December 2008 01:24 To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Yes, I am expecting an answer from someone who develop the axis2. It is very inefficient to create a stub for each call. Regards, Shehan From: Paul French [mailto:[EMAIL PROTECTED] Sent: 2008-12-10 03:29 To: axis-user@ws.apache.org; 'David Ojeda' Subject: RE: thread safe axis2 client stub http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results _ From: David Ojeda [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 16:16 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I am also interested in this matter. I would like to hear Deepal's opinion, since he was the one who said that it is not thread safe. Paul: You said: The link below suggests some tricks you can do to make things more efficient. What are these tricks? What link? Cheers, David On Tuesday 09 December 2008 11:50:31 Paul French wrote: This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul _ From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 04:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen [EMAIL PROTECTED] wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20 t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:13 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub yes thanks, Amila. On Mon, Dec 8, 2008 at 9:31 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi, I am going to invoke a web service via a client stub generated by axis2. I want to have a single instance of the stub across my application. So when I initiate the stub (when I call the constructor), I don't like to call it again throughout my application. Is it thread safe? Regards, Shehan -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- David Ojeda __ NOD32 3677 (20081209) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com __ NOD32 3680 (20081210) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
RE: thread safe axis2 client stub
Yes that is one solution but that means creating a pool of client stub objects (much like a database connection pool) or storing a client stub in a Thread local variable which isn't great if you have a lot of threads running in your servlet container. For a web service call over HTTP fundamentally all you are doing is creating a connection to a http server writing some text and getting a response back as text and closing the connection. There is no need to share read/write state across threads. I cannot see why a client stub cannot be made thread safe? _ From: Kraus, David [mailto:[EMAIL PROTECTED] Sent: 10 December 2008 16:56 To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub I would think that there is no need to create a new client stub for each web service call. You just need to be sure you create a separate stub for each client thread. On each thread you can make as many web service calls as you like using the same proxy. _ From: Paul French [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 10, 2008 4:37 AM To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Can anyone comment on this? It is a major issue for us. Why is the client stub created not thread safe? If it cannot be made thread safe then how can you avoid the huge overhead of instantiating a new client stub per web service call? _ From: Shehan Simen [mailto:[EMAIL PROTECTED] Sent: 10 December 2008 01:24 To: axis-user@ws.apache.org Subject: RE: thread safe axis2 client stub Yes, I am expecting an answer from someone who develop the axis2. It is very inefficient to create a stub for each call. Regards, Shehan From: Paul French [mailto:[EMAIL PROTECTED] Sent: 2008-12-10 03:29 To: axis-user@ws.apache.org; 'David Ojeda' Subject: RE: thread safe axis2 client stub http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results _ From: David Ojeda [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 16:16 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I am also interested in this matter. I would like to hear Deepal's opinion, since he was the one who said that it is not thread safe. Paul: You said: The link below suggests some tricks you can do to make things more efficient. What are these tricks? What link? Cheers, David On Tuesday 09 December 2008 11:50:31 Paul French wrote: This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul _ From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 04:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen [EMAIL PROTECTED] wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20 t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:13 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub yes thanks, Amila. On Mon, Dec 8, 2008 at 9:31 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi, I am going to invoke a web service via a client stub generated by axis2. I want to have a single instance of the stub across my application. So when I initiate the stub (when I call the constructor), I don't like to call it again throughout my application. Is it thread safe? Regards
RE: thread safe axis2 client stub
This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul _ From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 04:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen [EMAIL PROTECTED] wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:13 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub yes thanks, Amila. On Mon, Dec 8, 2008 at 9:31 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi, I am going to invoke a web service via a client stub generated by axis2. I want to have a single instance of the stub across my application. So when I initiate the stub (when I call the constructor), I don't like to call it again throughout my application. Is it thread safe? Regards, Shehan -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
RE: thread safe axis2 client stub
http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results _ From: David Ojeda [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 16:16 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I am also interested in this matter. I would like to hear Deepal's opinion, since he was the one who said that it is not thread safe. Paul: You said: The link below suggests some tricks you can do to make things more efficient. What are these tricks? What link? Cheers, David On Tuesday 09 December 2008 11:50:31 Paul French wrote: This seems strange to me that the client stub cannot be made thread safe. After reading the below I have changed my client service to create the client stub on each call to one of my service methods since the client stub is not thread safe. I have no idea how inefficient this is? I have noticed that every time I create the client stub (for each and every call) I get the message: `[INFO] Deploying module: metadataExchange - file:/C:/downloads/axis2/axis2-1.4.1/lib/mex-1.4.1.jar It suggests a lot of work is going on to simply service a single web service call. The link below suggests some tricks you can do to make things more efficient. What are these tricks? Thanks Paul _ From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 09 December 2008 04:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I was not aware of this. If the axis2 design not permits this it is better not to use it. thanks, Amila. On Mon, Dec 8, 2008 at 10:00 AM, Shehan Simen [EMAIL PROTECTED] wrote: Also this link: http://markmail.org/message/iif5rdpgqahk4u5t#query:axis2%20client%20stub%20 t hread%20safe+page:2+mid:eenup3ck5ib6fzqq+state:results From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:26 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub I have tested with Axis2 1.4 and it worked fine. can you please send the mail thread you mentioned? thanks, Amila. On Mon, Dec 8, 2008 at 9:48 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi Amila, Thank you for your response. But I found in some discussion, it is saying that the client stub is not thread safe. Is this problem fixed now? In which version I can find it then? Regards, Shehan From: Amila Suriarachchi [mailto:[EMAIL PROTECTED] Sent: 2008-12-08 15:13 To: axis-user@ws.apache.org Subject: Re: thread safe axis2 client stub yes thanks, Amila. On Mon, Dec 8, 2008 at 9:31 AM, Shehan Simen [EMAIL PROTECTED] wrote: Hi, I am going to invoke a web service via a client stub generated by axis2. I want to have a single instance of the stub across my application. So when I initiate the stub (when I call the constructor), I don't like to call it again throughout my application. Is it thread safe? Regards, Shehan -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/ -- David Ojeda __ NOD32 3677 (20081209) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com
Java2wsdl gives [WARN] Unable to generate EPR for the transport : http
Hello, I have googled about without any luck! When I run the following command to generate a WSDL from a java interface: java2wsdl -cp . -cn com.kirona.webservices.MessageInterface -of MessageService.wsdl I get a warning. [WARN] Unable to generate EPR for the transport : http Could someone please tell me what this means and whether I need to worry about it? Thanks Paul