Hi Dims,

Davanum Srinivas <[EMAIL PROTECTED]> wrote:
> Peter,
> PLEASE don't make such assertions....Can you point us to the exact
paragraph in JAX-RPC spec that
> says that generated code should NOT extend implementation specific
classes?

Look at paragraph 5.2.1, page 52 in the JAX-RPC specification 1.0:

"A JAX-RPC service endpoint interface that extends the java.rmi.Remote
interface may declare service specific exceptions in a method signature in
addition to the required java.rmi.RemoteException. A service specific
exception declared in a remote method signature must be a checked
exception. It must extend java.lang.Exception either directly or indirectly
but must not be a RuntimeException."

The problem is not that the generated code extends an implementation
specific class, but the problem is that this class extends RemoteException!
It doesn't really make sense to declare additional exceptions in the trows
clause which are derivated from RemoteException, as the compiler won't
check any more if the caller handles these exceptions. There may be cases
where it makes sense to derivate a service specific exception from
RemoteException, but this will be unsusual. The design decision if one uses
"checked" or "unchecked" exceptions should be left to the designer of the
service interface and should not be predetermined by the SOAP
implementation one uses.

Dims, can you point me to the exact paragraph wich says that service
specific exceptions must extend RemoteException?  ;-)  I hope you
understand now what the problem is.

Best Regards,
Peter

Reply via email to