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 invoke the ping
methods of the all the MessageReceivers which handle the operations
defined in the service and this module assumes that the
MessageReceiver interface is extended. Consider the following sample
code.

               boolean status = true;
               Iterator iterator = axisService.getOperations();

               while (iterator.hasNext() && status) {
                   axisOperation = (AxisOperation) iterator.next();
                   msgReceiver = (AbstractMessageReceiver)

axisOperation.getMessageReceiver();
                   status = msgReceiver.ping();
               }

If all the MRs returns true then status of the service is "up". If one
of MRs return false, the the status of the service will be "down"
(say). Or else we can send the status of each operation as proposed by
thilina.

In most of the times single MR handles several web service operations.
Therefore Using the above approache,  the ping method of a single MR
can be invoked several times. This is an extra overhead.

One solution to overcome this problem is to cache MR on which the ping
method is invoked. AFA I think the second option is to send the
operation name as a parameter to the ping method.

These are just my opinions.

Sameera

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to