How to unsubscribe?
I have been sending email to [EMAIL PROTECTED] but I keep on getting email. Perhaps our corporate mail filter is filtering your confirmation replies. How can I unsubscribe? -dh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [axis2] How to write the implementation class
Deepal, Thanks for the reply and link it is very helpful! Regarding this approach I have a couple of questions. - Is there any rules/requirements of the POJO's, such as, can the methods return other custom Java objects? Can the methods throw Exceptions? Is there any need to make these objects JavaBeans? (I see in the link example the service class is not.) - Can I specify the session management scope of the web-service? I understand Axis2 lets you control the session management via the scope parameter. I will try to implement a solution using the embedded technique you mentioned and then possibly move to the OMElement/AXIOM approach when I have a better understanding. Regarding your original reply, I do not fully understand your statement ...not need to modify (or change) your method to pass/return OMElement, you can use any java object as method signatures in your service impl class. To get the high performance it is the best way to use AXIOM. Can you provide a link where this is explained? Being new to Axis2 I do not understand the relationship of 'any java object as method signatures in your service impl class', 'pass/return OMElement usage' AXIOM. -dh -Original Message- From: Deepal Jayasinghe [mailto:[EMAIL PROTECTED] Sent: Friday, June 02, 2006 1:34 AM To: axis-user@ws.apache.org Subject: Re: [axis2] How to write the implementation class Dave Hoffer wrote: I see in the new Axis2 docs that to write the implementation class you modify all the methods to pass/return an OMElement parameter. Why is this? Isn't it possible to write and use POJOs like Axis1.x? What is the benefit of the OMElement approach? You do not need to modify (or change ) your method to pass/return OMElement , you can use any java object as method signatures in your service impl class. To get the high performance it is the best way to use AXIOM. If you want who to use POJO with Axis2 pls have a look at the following http://www.wso2.net/faq/apache_axis2/q6 I notice a phrase that this is how you do it unless you have data finding, however I find no information on how to have/use data binding. Is there some documentation on this? Thanks! -dh -- Thanks, Deepal ~Future is Open~ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[axis2] How to write the implementation class
I see in the new Axis2 docs that to write the implementation class you modify all the methods to pass/return an OMElement parameter. Why is this? Isnt it possible to write and use POJOs like Axis1.x? What is the benefit of the OMElement approach? I notice a phrase that this is how you do it unless you have data finding, however I find no information on how to have/use data binding. Is there some documentation on this? Thanks! -dh
RE: [Axis2] How to build aar and Axis2 war with Maven2?
Ajith, Thanks for the reply. I understand that aar is a jar file with a special format. What I am wondering is if maven2 is aware of this 'special format'? As I understand maven2, it uses the packaging tag to 'know' what to do to make the artifact. So can I do the following? packagingaar/packaging Or do I have to use the default packaging of jar and then rename? If this is the case, how do I rename in maven2? Also regarding the services.xml file, is there any help in maven2 to auto generate this? If not, this probably isn't a big deal. Regarding the war, yes I did mean how to package the aar in the war. You state how to do this but I am wondering if there is any maven2 help for this as well. Depending on the answers above, the aar may be known by maven2 as jar and/or aar and have to be copied and/or renamed as aar. It seems this could all be automated possibly. Thanks! -dh -Original Message- From: Ajith Ranabahu [mailto:[EMAIL PROTECTED] Sent: Saturday, May 27, 2006 9:12 AM To: axis-user@ws.apache.org Subject: Re: [Axis2] How to build aar and Axis2 war with Maven2? Hi, an aar is a jar file with a special format. You can copy the compiled classes into the relevant directory structure and use the jar command with maven2 if you want. If you are planning to use generated code then it will be convenient to call the generated ant build script. I don't really get what is meant by Take the Axis2 aar and make the Axis war needed for deployment ! Did you mean to say that you should have a war with your service pre-packed ? If so just package the services/xxx.aar into the web-inf folder of the war file. Ajith On 5/26/06, Deepal Jayasinghe [EMAIL PROTECTED] wrote: Hi Dave ; I dont think you need to compile Axis2 code , what I think is you have to add dependency into your project to pick Axis2 jars from apache repo. Dave Hoffer wrote: I would like to start using Axis2 in a new project. The project will use Maven2 as the build system. How can I integrate Axis2? Specifically, how do I? - Compile my sources into the Axis aar format? Or take my application's jar and create the Axis2 aar format? - Take the Axis2 aar and make the Axis war needed for deployment. I would greatly appreciate info on how to do this. -dh -- Thanks, Deepal ~Future is Open~ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Ajith Ranabahu - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2] How to design a Java API that is both Java and web-service friendly?
I have some POJO classes that I am designing were I will have both Java clients (using the classes directly thru jar) as well as clients accessing the code through a web-service API (the primary web-service client will be JavaScript/IE). Ideally (not required), I would like both API's to be the same. Here is the proposed Java API: public class Driver implements ISpotMeasurement { /** * This initiates the process of measuring and registers a listener for the measurement results. * * @param listener */ public void addSpotMeasurementListener(ISpotMeasurementListener listener) { } /** * This terminates the process of measuring and removes the registered listener. * * @param listener */ public void removeSpotMeasurementListener(ISpotMeasurementListener listener) { } /** * Enable the instrument to take a measurement now. The actual measurement may be delayed until the * user performs the physical measurement, in the case of instruments with shoe activated measurement. */ public void beginSpotMeasurement() { } } public interface ISpotMeasurementListener { public void onSpotMeasurement( double[] data, int statusCode ); } The client calls beginSpotMeasurement() asynchronously and the data is returned via the listener. This makes sense in the case of the Java application but can Axis2 web-services make this sort of an API? Can a web-service API register listeners? I definitely need state maintained on the server which I understand Axis2 supports; however is there a better way to implement this API for the web-service clients? What about JavaScript? What client proxies are available? I understand, as newbie, that Axis2 can generate synchronous and asynchronous method calls; how does this work given this API, given the JavaScript client? Thanks, -dh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [Axis2] How to design a Java API that is both Java and web-service friendly?
Robert, Excellent points, I will look into each suggestion. Regarding item 1, do you know if this requires Mozilla's Rhino usage on the client? I am stuck with MS IE 6.x and later on the client, I wasnt clear if Rhino was a server only requirement or client server. Thanks much! -ch From: robert lazarski [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 30, 2006 2:29 PM To: axis-user@ws.apache.org Subject: Re: [Axis2] How to design a Java API that is both Java and web-service friendly? I'll try and answer your questions to a point where you can start moving torwards a solution. Some of these I haven't tried yet but I know they exist: 1) For an axis2 _javascript_ service, take a look here: http://issues.apache.org/jira/browse/AXIS2-625?page=all 2) For registering a listener, using JMS as the transport might be what you're after though I haven't used axis2 with JMS. Axis2 supports JMS, and while I didn't find any docs where I thought they would be, there are unit tests in the source such as JMSEchoRawXMLTest . Dims may be able to comment more. 3) I typically use an adapter or a Spring service that sits in between the axis2 / web layer invokations to the business layer that provides the same glue between the layers. 4) WS-Addressing generates an UUID that can be used for session tracking, along with ServiceGroupContext. I often either generate a UUID and store it via EHCache, or use a stateful session bean to generate and expire an ID for me - but I'm strange like that ;-) . HTH, Robert http://www.braziloutsource.com/ On 5/30/06, Dave Hoffer [EMAIL PROTECTED] wrote: I have some POJO classes that I am designing were I will have both Java clients (using the classes directly thru jar) as well as clients accessing the code through a web-service API (the primary web-service client will be _javascript_/IE).Ideally (not required), I would like both API's to be the same.Here is the proposed Java API: public class Driver implements ISpotMeasurement { /** * This initiates the process of measuring and registers a listener for the measurement results. * * @param listener */ public void addSpotMeasurementListener(ISpotMeasurementListener listener) { } /** * This terminates the process of measuring and removes the registered listener. * * @param listener */ public void removeSpotMeasurementListener(ISpotMeasurementListener listener) { } /** * Enable the instrument to take a measurement now.The actual measurement may be delayed until the * user performs the physical measurement, in the case of instruments with shoe activated measurement. */ public void beginSpotMeasurement() { } } public interface ISpotMeasurementListener { public void onSpotMeasurement( double[] data, int statusCode ); } The client calls beginSpotMeasurement() asynchronously and the data is returned via the listener.This makes sense in the case of the Java application but can Axis2 web-services make this sort of an API?Can a web-service API register listeners?I definitely need state maintained on the server which I understand Axis2 supports; however is there a better way to implement this API for the web-service clients? What about _javascript_?What client proxies are available? I understand, as newbie, that Axis2 can generate synchronous and asynchronous method calls; how does this work given this API, given the _javascript_ client? Thanks, -dh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2] How to build aar and Axis2 war with Maven2?
I would like to start using Axis2 in a new project. The project will use Maven2 as the build system. How can I integrate Axis2? Specifically, how do I? - Compile my sources into the Axis aar format? Or take my applications jar and create the Axis2 aar format? - Take the Axis2 aar and make the Axis war needed for deployment. I would greatly appreciate info on how to do this. -dh
RE: Axis - setup/teardown notification?
Yes, this is exactly what I had in mind. Thanks for the help on this. ...couple of clarifications, is there any way for the init method to be called by Axis at startup instead of the client? Our web service is a daemon and I would like the init to be called when the system boots rather than at the first client call. Thanks much! -dh -Original Message- From: Juha Kononen [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 13, 2005 11:01 AM To: axis-user@ws.apache.org Subject: Re: Axis - setup/teardown notification? I'm not sure are we talking about the same thing, but I suggest you implement, for example, an 'init' method, in addition to your service method. Put all your initialization code in the init method as well as the initialization message that you are going to send back to a client. Then invoke your web service with the init method instead of the service method. Now you have initialized your web service before its use and you have got the initialization message. I recommend to use the session mechanism, because then Axis creates only one service object per a client and reuses the service object for the length of the session. Without the session Axis creates and destroys your service object every time you call it. However, when you want to make some cleanup before the destruction of the service object, you can do it by implementing the destroy method from the javax.xml.rpc.server.ServiceLifecycle interface in your service object. The Axis engine calls destroy() either at shutdown, when a session expires, or at the end of a request. You may try to put a message in the destroy method and check whether you get it from the server, but I'm not sure does it work because I haven't test it. Juha [EMAIL PROTECTED] 09/13 4:13 Does Axis provide any mechanism to notify web services that they are starting and/or stopping? I would like to provide some resource initialization when my web service has started and provide some resource cleanup when it is being stopped for any reason. What is the preferred way to do this? -dh
RE: Axis - setup/teardown notification?
Excellent! That should work fine. -dh -Original Message- From: Grossberger, Guenter [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 13, 2005 11:25 AM To: axis-user@ws.apache.org Subject: RE: Axis - setup/teardown notification? Hi! You can derive your own servlet class from AxisServlet and implement your own init method that initializes your service if you have some static initialization (don't forget to call super.init()). In web.xml put your class in the servlet-class instead of AxisServlet and make sure you have a positive value in load-on-startup. Then your servlet (and your initialization) is initialized at startup of the server. In session mode a new service object is created for every session so you can place a per object initialization in the constructor (or better in a private init method that is called by the constructor). Best regards, Günter -Original Message- From: Dave Hoffer [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 13, 2005 5:14 PM To: axis-user@ws.apache.org Subject: RE: Axis - setup/teardown notification? Yes, this is exactly what I had in mind. Thanks for the help on this. ...couple of clarifications, is there any way for the init method to be called by Axis at startup instead of the client? Our web service is a daemon and I would like the init to be called when the system boots rather than at the first client call. Thanks much! -dh -Original Message- From: Juha Kononen [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 13, 2005 11:01 AM To: axis-user@ws.apache.org Subject: Re: Axis - setup/teardown notification? I'm not sure are we talking about the same thing, but I suggest you implement, for example, an 'init' method, in addition to your service method. Put all your initialization code in the init method as well as the initialization message that you are going to send back to a client. Then invoke your web service with the init method instead of the service method. Now you have initialized your web service before its use and you have got the initialization message. I recommend to use the session mechanism, because then Axis creates only one service object per a client and reuses the service object for the length of the session. Without the session Axis creates and destroys your service object every time you call it. However, when you want to make some cleanup before the destruction of the service object, you can do it by implementing the destroy method from the javax.xml.rpc.server.ServiceLifecycle interface in your service object. The Axis engine calls destroy() either at shutdown, when a session expires, or at the end of a request. You may try to put a message in the destroy method and check whether you get it from the server, but I'm not sure does it work because I haven't test it. Juha [EMAIL PROTECTED] 09/13 4:13 Does Axis provide any mechanism to notify web services that they are starting and/or stopping? I would like to provide some resource initialization when my web service has started and provide some resource cleanup when it is being stopped for any reason. What is the preferred way to do this? -dh
Axis - setup/teardown notification?
Does Axis provide any mechanism to notify web services that they are starting and/or stopping? I would like to provide some resource initialization when my web service has started and provide some resource cleanup when it is being stopped for any reason. What is the preferred way to do this? -dh
RE: [Axis2][Fwd: Userguide questions]
Thanks. How can I build the code using the ant script? I want to make a couple of changes to the sample/test code and run it again. I think I am using axis2-0.91.jar as I am running the samples from this download. -dh From: Ruchith Fernando [mailto:[EMAIL PROTECTED] Sent: Monday, August 29, 2005 12:26 AM To: axis-user@ws.apache.org; [EMAIL PROTECTED] Subject: Re: [Axis2][Fwd: Userguide questions] Hi, PLease see my comments below: On 8/28/05, Eran Chinthaka [EMAIL PROTECTED] wrote: Forwarding with Axis2. Original Message Subject: Userguide questions Date: Sat, 27 Aug 2005 22:13:18 -0400 From: Dave Hoffer [EMAIL PROTECTED] Reply-To: axis-user@ws.apache.org To: axis-user@ws.apache.org I am trying to follow the axis2 userguide instructions but am having some difficulty. In the following section, To test this client you can use the provided ant build file that can be found in the Axis2Home/samples directory. Run the testEchoBlockingClient target . if you can see the response OMElement printed in your command line then you have successfully tested the client as well. What is the syntax of building with the ant file? Is it: ant -buildfile build.xml? To run the testEchoBlockingClient at target you have to do: ant testEchoBlockingClient from the samples directory. When you are using ant you will don't have to specifically point to the build file if the name of the build file is build.xml (which is so in this case). I note that the sample.jar that I thought should have been built by the build script has an old date. What am I doing wrong? Do I run the testEchoBlockingClient target with ant also? When I run the client test batch file, from the bin folder, to test this I get the following error. Exception in thread main java.lang.NoClassDefFoundError: org/apache/axis2/AxisFault Perhaps I cannot test with the batch files, only the ant script? Are you using axis2-0.91.jar. Axis2 stuff were moved to org.apache.axis2.* package form the 0.9 release. -dh -- Ruchith
Userguide questions
I am trying to follow the axis2 userguide instructions but am having some difficulty. In the following section, To test this client you can use the provided ant build file that can be found in the Axis2Home/samples directory. Run the testEchoBlockingClient target . if you can see the response OMElement printed in your command line then you have successfully tested the client as well. What is the syntax of building with the ant file? Is it: ant -buildfile build.xml? I note that the sample.jar that I thought should have been built by the build script has an old date. What am I doing wrong? Do I run the testEchoBlockingClient target with ant also? When I run the client test batch file, from the bin folder, to test this I get the following error. Exception in thread main java.lang.NoClassDefFoundError: org/apache/axis2/AxisFault Perhaps I cannot test with the batch files, only the ant script? -dh
Axis2 security
Using Axis2, how can I limit what clients can access my web services? What if I want to limit it to localhost, or a range of IP addresses? -dh
Axis2 questions
Hello Axis team, I have some general questions about Axis and how it could be used to help solve some of our application development problems. I have limited experience with Axis 1.x. We used this to allow a Flash client UI to access our C++ logic/code on OSX/Windows. This worked well but was a simple API/UI. The basic problem we are trying to solve is how to best write cross-platform desktop (client-server) applications. We require excellent Windows OSX support. Solaris is also used but to a much lesser extent. Our applications are used mainly in the commercial and industrial markets; we have some users in the pro consumer space. Traditionally we have developed native C++ binaries using native Windowing toolkits on each platform, such as MFC on Windows. As you know this is a hard way to go. We have achieved very little common code across platforms. Cross-platform C++ is a hard way to go. We would like to go with 100% java as that solves the platform issues. However some of our OSX developers insist that Java does not give an acceptable UI for some OSX users. I dont know if its true but I am assuming that it and I am trying to find a solution while still using Java for all the non UI logic. This is where Axis comes in to help. What I would like to do is develop all the non UI logic in Java. Therefore in the MVC pattern, both the model and the controller will be written in Java. I would then add a web service layer using Axis2 to transport the view to and from the UI logic. This then decouples the programming environment of the view from the rest of the system. I can use C++, Java, Flash or whatever for the client. Now, I know Axis can do this. The question is, is this a practical thing to do? I am concerned about performance, stability, etc. Our applications range from applications with quite simple (but pretty) UI with little data to quite complicated with lots of data being shown. In the latter case we will have graphs, charts, etc. Our users are accustomed to native applications and I am wondering how drastic this change would be to perceived performance. That being said, the client load would be very light. Since we are talking about replacing desktop applications (with db access), I would have Axis running with some servlet container, such as Jetty/Tomcat, running on every system with the client using localhost. Is this a practical use of Axis2? In reality we would also host this as client-server but our client load would be rather light as compared to web sites. Other questions are I understand Axis2 supports TCP SMTP transports also. Could I use the TCP transport instead of HTTP for systems that are not being used across firewalls? Would this be much quicker? How does the client language work with the TCP transport? Are there better server containers than Jetty/Tomcat for what I need to do? I am doing RPC style programming with the web services. I see Axis2 has a de-emphasis of RPC oriented web services, why is this? Does this negatively effect what I am trying to do? Can I use this change to my advantage? I think the biggest disadvantage to using Axis in the manor is the latency between requests/responses. What can I do to minimize this latency? Thank you, -dh