dCache/dcache — pull request #14 by paulmillar (2013-05-03 13:52:52+00:00)
Title: axis: fix NPE when the class providing a SOAP service has void method

The LoggingRPCProvider wraps the standard Axis method-based dispatch and
adds better logging of what's happening.

If the method being invoked (corresponding to some SOAP method) is
declared void or the method returns a null value then the
LoggingRPCProvider suffers an NPE.

This patch fixes this problem. It also distinguishes between a void
method and a method returning null.

Note #1. None of the SRM operations trigger this problem as all such
methods return something (a class following a *Response naming scheme)

Note #2. Axis allows a method to have multiple OUT values by passing
value-handle objects as arguments to methods. A future version of
LoggingRPCProvider should detect such methods and log such multi-OUT
values.

Target: master
Request: 2.6
Patch: http://rb.dcache.org/r/5538/
Acked-by: Gerd Behrmann