[axis2] Pinging capability to services deployed in Axs2

2007-02-06 Thread Sameera Madushan
Hi all, Managing the deployed web services is becoming mandatory and important, because the usage of web services is increasing in the enterprise. One requirement which can arise in managing the web services is to monitor the availability of the services and to check the status of the services wh

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-06 Thread Davanum Srinivas
Sameera, Why should we extend the API? Is it not possible to do this with a custom ping module with appropriate handlers? thanks, dims On 2/6/07, Sameera Madushan <[EMAIL PROTECTED]> wrote: Hi all, Managing the deployed web services is becoming mandatory and important, because the usage of we

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-06 Thread Deepal Jayasinghe
Hi Sameera ; > Hi all, > > Managing the deployed web services is becoming mandatory and > important, because the usage of web services is increasing in the > enterprise. One requirement which can arise in managing the web > services is to monitor the availability of the services and to check > the

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-06 Thread Sameera Madushan
Hi Dims, Deepal Actually the idea is to develop a custom ping module with appropriate handlers. One of the ping handlers should be added to the dispatch phase before the 'InstanceDispatcher' (Inflow). If the service is deployed and it is active, then ping handler can get the service status from A

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-06 Thread Deepal Jayasinghe
> Hi Dims, Deepal > > Actually the idea is to develop a custom ping module with appropriate > handlers. One of the ping handlers should be added to the dispatch > phase before the 'InstanceDispatcher' (Inflow). If the service is > deployed and it is active, then ping handler can get the service >

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-07 Thread Davanum Srinivas
Sameera, We've implemented ws-trust/ws-secconv/ws-rm w/o needing to extend the API. So please take it out of the equation. thanks, dims On 2/7/07, Deepal Jayasinghe <[EMAIL PROTECTED]> wrote: > Hi Dims, Deepal > > Actually the idea is to develop a custom ping module with appropriate > handler

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-07 Thread Sanjiva Weerawarana
The ping response is a best effort. The default is to say "it reached the msg receiver so all is ok." Obviously that's not always true- e.g., class load errors can occur after that. (Or imagine the service is implemented by a BPEL script- one of the external services may be missing.) So a given me

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-07 Thread Davanum Srinivas
I think i'd like to see a patch before we go further. Am not convinced this is the best approach. We could do a custom dispatcher that could insert a java dynamic proxy[1] under certain conditions (custom soap header?) to get the same kind of behavior. Thanks, dims [1] http://java.sun.com/j2se/1

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-07 Thread Dennis Sosnoski
+1 This is a capability my clients have often wanted. I'm not sure I see the need to do it at the MessageReceiver level, though. The approach I've thought about is to use handlers. The handlers could not only respond to a ping, but could also supply useful information about the actual state o

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Sanjiva Weerawarana
Yuck! We have a clean fix why not do it? Anyway, +1 for a patch. Sanjiva. On Wed, 2007-02-07 at 21:35 -0500, Davanum Srinivas wrote: > I think i'd like to see a patch before we go further. Am not convinced > this is the best approach. We could do a custom dispatcher that could > insert a java dy

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Davanum Srinivas
Sorry, IMHO, changing the interface is not my definition of "clean fix". -- dims On 2/8/07, Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote: Yuck! We have a clean fix why not do it? Anyway, +1 for a patch. Sanjiva. On Wed, 2007-02-07 at 21:35 -0500, Davanum Srinivas wrote: > I think i'd like t

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Sanjiva Weerawarana
On Thu, 2007-02-08 at 16:35 +1300, Dennis Sosnoski wrote: > +1 > > This is a capability my clients have often wanted. I'm not sure I see > the need to do it at the MessageReceiver level, though. The approach > I've thought about is to use handlers. The handlers could not only The problem is th

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Sameera Madushan
Hi all, Here are the sample message formats for the ping request and ping response. Ping Request POST /axis2/services/SomeService HTTP/1.1 SOAPAction: "ping" //SOAPAction should be a unique one .. http://schemas.xmlsoap.org/soap/envelope/";> http://ping";>

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Deepal Jayasinghe
Hi All; > >The problem is that pinging at the handler level basically amounts to >just asking "is there such a service?". Having it go to the message >receiver allows the ping to be responded to based on more useful data- >such as did the impl class or script or whatever load etc.. So its >really

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Sameera Madushan
Hi deepal, >The problem is that pinging at the handler level basically amounts to >just asking "is there such a service?". Having it go to the message >receiver allows the ping to be responded to based on more useful data- >such as did the impl class or script or whatever load etc.. So its >rea

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Deepal Jayasinghe
Hi Sameera ; > > > There can be two types of ping requests. > > 1. Service level ping requests. > 2. Operation level ping requests. > > In the first case, you are correct, we need to ping all the operations > within the service. Then in the ping response simply we can say > whether the service is

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Deepal Jayasinghe
Hi Sameera ; > > > There can be two types of ping requests. > > 1. Service level ping requests. > 2. Operation level ping requests. > > In the first case, you are correct, we need to ping all the operations > within the service. Then in the ping response simply we can say > whether the service is

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-08 Thread Sanjiva Weerawarana
On Fri, 2007-02-09 at 11:54 +0530, Deepal Jayasinghe wrote: > Service might have more than one MRs (most of the time it does) so > checking only one MR wont give you the accurate results. The other > problem I have is which MR you are going to call when you receive a ping > request , are you going

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Angel Todorov
Hi all, a service in the Axis2 may not even have any implementation class. It is very difficult to get any value out of the pinging in terms of reaching a message receiver. The best and most guaranteed way to check the status of a service is to actually invoke it with a request, which is known to

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Dennis Sosnoski
Sanjiva Weerawarana wrote: On Thu, 2007-02-08 at 16:35 +1300, Dennis Sosnoski wrote: +1 This is a capability my clients have often wanted. I'm not sure I see the need to do it at the MessageReceiver level, though. The approach I've thought about is to use handlers. The handlers could not o

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Dennis Sosnoski
Angel Todorov wrote: ... What Dennis suggests is useful, but in reaility there may be situations where the service is randomly invoked by clients with crappy soap header / body (think about bots & worms or developers of web service clients in an open WS environment), to which a fault is produc

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread David Illsley
So how about a handler approach, with an optional interface that MRs can implement if they do support being interrogated about current status? David On 09/02/07, Dennis Sosnoski <[EMAIL PROTECTED]> wrote: Angel Todorov wrote: > ... > > What Dennis suggests is useful, but in reaility there may b

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Paul Fremantle
Dennis Only if the user actually implements the ping-handling code themselves, and checks the various conditions that can go wrong in the operation of the service code. Was that the intention, that this be exposed to the user to implement? I don't know see offhand how this would work, given that

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Dennis Sosnoski
Paul Fremantle wrote: Dennis Only if the user actually implements the ping-handling code themselves, and checks the various conditions that can go wrong in the operation of the service code. Was that the intention, that this be exposed to the user to implement? I don't know see offhand how this

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Davanum Srinivas
Sounds good to me! +1 On 2/9/07, Dennis Sosnoski <[EMAIL PROTECTED]> wrote: Paul Fremantle wrote: > Dennis >> Only if the user actually implements the ping-handling code themselves, >> and checks the various conditions that can go wrong in the operation of >> the service code. Was that the inten

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Paul Fremantle
It'd be easy enough to do this as an interface, though. So the message receiver could check if the service class implements the pingable interface, and if so it calls the method defined by that interface. Otherwise, it just checks that it can create an instance of the service class. That seems li

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Thilina Gunarathne
> easy enough to do this as an interface, though. So the message receiver > could check if the service class implements the pingable interface, and > if so it calls the method defined by that interface. Otherwise, it just > checks that it can create an instance of the service class. Seems like w

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Nicholas L Gallardo
lease respond to axis-dev@ws.apache.org To axis-dev@ws.apache.org cc Subject Re: [axis2] Pinging capability to services deployed in Axs2 So how about a handler approach, with an optional interface that MRs can implement if they do support being interrogated about current status? David

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Nicholas L Gallardo
s.apache.org To axis-dev@ws.apache.org cc Subject Re: [axis2] Pinging capability to services deployed in Axs2 > > easy enough to do this as an interface, though. So the message receiver > > could check if the service class implements the pingable interface, and > > if so i

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Davanum Srinivas
olas Gallardo WebSphere - WebServices Development [EMAIL PROTECTED] Phone: 512-838-1182 Building: 901 / 5G-016 "Thilina Gunarathne" <[EMAIL PROTECTED]> 02/09/2007 07:16 AM Please respond to axis-dev@ws.apache.org To axis-dev@ws.apache.org cc Subject Re: [axis2] Pinging

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Sanjiva Weerawarana
On Fri, 2007-02-09 at 09:30 +, Paul Fremantle wrote: > > Ideally we could also generate a ping() method on skeletons that would > encourage users to write a more thorough test. We could use reflection > to invoke it if it exists. Absolutely; that's what I thought we'd be doing too- generate a

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Nicholas L Gallardo
M Please respond to axis-dev@ws.apache.org To axis-dev@ws.apache.org cc Subject Re: [axis2] Pinging capability to services deployed in Axs2 Nick, Yes, a separate interface is what we are rallying around now... http://marc.theaimsgroup.com/?l=axis-dev&m=117101637929286&w=2

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Sanjiva Weerawarana
On Fri, 2007-02-09 at 23:19 +1300, Dennis Sosnoski wrote: > > I really dislike using reflection for this type of thing, since it means There's no reflection involved .. the generate MR would have the right code in it. > that "magic" methods change the behavior of things at runtime. It'd be > e

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Sanjiva Weerawarana
On Fri, 2007-02-09 at 09:47 -0600, Nicholas L Gallardo wrote: > > I'm -1 on a change to the actual MessageReceiver interface. That > would require that we implement these semantics for JAX-WS services > that may not implement the Pingable interface. We don't *have to* implement them .. the defa

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Dennis Sosnoski
Thilina Gunarathne wrote: > easy enough to do this as an interface, though. So the message receiver > could check if the service class implements the pingable interface, and > if so it calls the method defined by that interface. Otherwise, it just > checks that it can create an instance of the

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-09 Thread Dennis Sosnoski
Sanjiva Weerawarana wrote: Are you in agreement with Thilina's point: we need to add a ping() method to MR which would in turn interrogate the service class (at least for Java class implemented services .. obviously it does squat for a service implemented as bpel script or javascript or somethin

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-10 Thread Thilina Gunarathne
Hi all, I'm especially unclear about how this would work at the individual operation level, which was also part of what was discussed. My memory is that there's (normally?) just one message receiver per MEP. So if the intent is to offer a per-operation ping, I suppose you could pass the operation

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-10 Thread Thilina Gunarathne
Thilina Gunarathne" <[EMAIL PROTECTED]> > > 02/09/2007 07:16 AM > > Please respond to > axis-dev@ws.apache.org > > > To axis-dev@ws.apache.org > > cc > > > Subject Re: [axis2] Pinging capability to services deployed in Axs2 > > > > &g

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-10 Thread Dennis Sosnoski
In my experience the individual operations of a service generally use the same backend functions. This generally means that either all operations are working properly, or nothing of any significance is working properly. It's possible to do things differently, grouping a bunch of unrelated funct

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-10 Thread Sanjiva Weerawarana
Even to find out whether the service as a whole is working, you need to be able to ping down to at least one MR. I'm fine with the ping module having a property that users can set that allows users to control which operations' MR's to contact. Something like a b c We can also have "*" as a specia

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-10 Thread Dennis Sosnoski
It still seems like overkill to me, but if people really want the operation-based ping then sure, this sounds fine. I don't think ping is going to be a module, though. If the implementation uses a method added to the MR classes, as we've been discussing, I'd think the functionality would be co

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Paul Fremantle
I agree with Dennis. I think operation-level ping is adding complexity for no great benefit. The service level ping seems perfect. Paul On 2/11/07, Dennis Sosnoski <[EMAIL PROTECTED]> wrote: It still seems like overkill to me, but if people really want the operation-based ping then sure, this s

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Sanjiva Weerawarana
OK can you tell me how you'd implement service level ping?? Take the following cases: - service implemented by a java class - service implemented by javascript Assume that in both cases the services have a flaw .. say class can't be loaded and script has an error. The question is what "ping" gives

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Dennis Sosnoski
The discussed approach was that the default message receiver implementation first loads the service class instance to make sure it loads properly. It next checks if the service class implements a Pingable interface. If the service class *does* implement the interface, the message receiver calls

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Sanjiva Weerawarana
I'm confused Dennis .. are you *for* changing the message receiver interface to have a ping() method? If not, how does the message receiver receive the ping request? Wait, are you suggesting that we modify the AbstractMessageReceiver class to have this behavior built-in? Sanjiva. On Mon, 2007-0

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Dennis Sosnoski
I'd personally support changing the message receiver interface to add a ping() method, with the AbstractMessageReceiver class implementing it as discussed. The reason is that I see this as something that should be a mandatory part of the framework. But with the -1 from Nicholas Gallardo on this

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-11 Thread Sanjiva Weerawarana
On Mon, 2007-02-12 at 13:32 +1300, Dennis Sosnoski wrote: > I'd personally support changing the message receiver interface to add a > ping() method, with the AbstractMessageReceiver class implementing it as > discussed. The reason is that I see this as something that should be a > mandatory part

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-12 Thread Sameera Madushan
I have an on going prototype development of the ping module, but it is not yet submitted as a patch. It satisfies following requirements as they were discussed in this thread. The ping module supports only the service level ping requests. Once a service level ping request is received, it will inv

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-12 Thread Dennis Sosnoski
Sanjiva Weerawarana wrote: On Mon, 2007-02-12 at 13:32 +1300, Dennis Sosnoski wrote: I'd personally support changing the message receiver interface to add a ping() method, with the AbstractMessageReceiver class implementing it as discussed. The reason is that I see this as something that sho

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-12 Thread Rajith Attapattu
Sorry for jumping in the middle. but I have a few questions, just to get my self upto speed with the issue. If I have understood correctly the difference btw an operation level and service level ping is that. If the service class or the script is loading properly then a service level ping is dee

Re: [axis2] Pinging capability to services deployed in Axs2

2007-02-12 Thread Deepal Jayasinghe
Sanjiva Weerawarana wrote: >OK can you tell me how you'd implement service level ping?? Take the >following cases: >- service implemented by a java class >- service implemented by javascript > > In the case of JS , I think the MR need to handle whatever necessary. Thanks Deepal