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 produce little overhead on the business logic - predefined request/response, i.e a request to which a service business logic (not necessarily a class!) will always respond with an echo.
If the ping functionality (described above , even to the MR level) doesn't work in 99 % of the cases either the whole Axis2 is down or the service is simply not deployed or corrupted (faulty). As for statistics: There may be a "handler" which gathers such statistics and routes requests (not in the DNS level as one would normally do clustering) but that's more useful in the situation where you'd like to have some form of load-balancing or failover. Statistics will show you history/previous invocations, not the state of that service at the moment of a new invocation. 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 produced, and this doesn't mean that the service is "inoperative", if a "proper" client knows exactly what he wants from the service. The whole problem with the SOAP faults actually lies in this that, you can never know how a service implementor will manage and create SOAP faults - will this only be done in case of a real business logic error, or will this happen if the client sends crap, or even for Exceptions which can be managed internally by the logic. Best, Angel On 2/9/07, Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote:
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 call all the MRs or only one. You have to check all of them ... each MR could be loading a different script for example. In reality there are < 5 and certainly < 10 operations in a service for 99% of the time. So I don't see this being a big deal. Sanjiva. -- Sanjiva Weerawarana, Ph.D. Founder & Director; Lanka Software Foundation; http://www.opensource.lk/ Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/ Director; Open Source Initiative; http://www.opensource.org/ Member; Apache Software Foundation; http://www.apache.org/ Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/ --------------------------------------------------------------------- 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]