| Author |
JAX-RPC EJB End points doubt in xyzws
|
Divya Gehlot
Ranch Hand
Joined: Sep 10, 2006
Posts: 238
|
|
Hi, I was going through xyzws notes and got some controversial statement please clarify .
|
SCJP1.5(81%)<br />SCDJWS(94%)<br />next mission SCEA(but need to wait or that)
|
 |
sajan sachin
Greenhorn
Joined: Feb 20, 2008
Posts: 18
|
|
Divya, The endpoint interface must throw remote exception, but the implementation for that endpoint interface should not throw remote exception,because remote exception is something which is thrown by the server and not by the implementation class,since the implementation class resides in the server we should not throw remote exception from our implementation class only the server throws it.But in the endpoint interface this is not the case,think like ,the client will call only methods in the endpoint interface and the client should be aware of the remote exception,that is why we need to throw remote exception from the endpoint interface. Thanks, Sajan C
|
 |
Peer Reynders
Bartender
Joined: Aug 19, 2005
Posts: 2906
|
|
I think you mean "contradictory" not "controversial". And the statements aren't contradictory - they are in fact complimentary. The endpoint interface is a remote interface as seen by the client and therefore losing the remote connection is always a possibility. If the connection is lost or cannot be created the client's application server throws a subclass of java.rmi.RemoteException. Note this exception isn't coming from the implementing bean. The implementing bean on the other hand "lives" on the application server that is running the service (not the client's application server) and therefore doesn't know about any of the connection problems that the client may be having. Throwing of java.rmi.RemoteExceptions is entirely the responsibility of the client's application server. The bean is only allowed to throw "application exceptions" (which show up in the WSDL as SOAP Faults) which cannot derive from java.rmi.RemoteExceptions. Basically the rules state that java.rmi.RemoteException (or a subclass thereof) cannot be used to represent an "application exception" but must always be treated as a "system exception". Enterprise JavaBeans, 3rd Edition: 14.6.1. Application Exceptions Versus System Exceptions
|
"Don't succumb to the false authority of a tool or model. There is no substitute for thinking."
Andy Hunt, Pragmatic Thinking & Learning: Refactor Your Wetware p.41
|
 |
Divya Gehlot
Ranch Hand
Joined: Sep 10, 2006
Posts: 238
|
|
Hi Peer, Thanks I understood
|
 |
 |
|
|
subject: JAX-RPC EJB End points doubt in xyzws
|
|
|