I found this very interesting article about exceptions. You should read “Ten Things (or more) You Might Not Know About Exception Handling in Delphi” (or get it from  Google Cache) and learn why exception inheritance ist important. The same reason applies to the exceptions of the JWSCL. EJwsclSecurityException is the main exception inherited from generic Exception class. All the other exception are inherited from EJwsclSecurityException or another JWSCL exception. The following partial tree shows the inheritance of JWSCL exception classes:

Exception (Delphi)

So if you are going to catch EJwsclSecurityException and e.g. EJwsclAccessDenied you have to catch the second exception first because EJwsclSecurityException would also catch EJwsclAccessDenied.

WRONG order:

try
  …
except
  on E1 : EJwsclSecurityException do
  …
  on E2 : EJwsclAccessDenied do
  …
end;

CORRECT order:

try
  …
except
  on E1 : EJwsclAccessDenied do
  …
  on E2 : EJwsclSecurityException do
  …
end;