Es mi primera vez publicar aquí así que por favor sea paciente y corregirme cuando sea necesario ...excepciones personalizadas de manipulación - Java Web Services
Estoy construyendo aplicación basada en servicios web simple usando NetBeans con GlassFish. NetBeans ayuda mucho en términos de generar código para nuevos servicios web y sus operaciones, aunque una cosa me enloquece: el manejo de excepciones del servicio web. Operación como:
@WebMethod(operationName = "checkUserExist")
public String checkUserExist(@WebParam(name = "login") String login, @WebParam(name = "password") String password) throws LoginException {
String auth_code = "";
bk_end.Validate val = new bk_end.Validate();
boolean isValidated = val.check(login, password);
if(isValidated)
{
auth_code = val.return_AuthCode();
bank_services.CustomerSerice.setAuth_Code(auth_code);
return auth_code;
}
throw new LoginException("Something is wrong!");
}
y la clase de excepción:
public class LoginException extends Exception
{
String message;
public LoginException(String message)
{
super();
this.message = message;
}
public String getErrorMessage()
{
return this.message;
}
}
lanza una masiva Excepciones detalles: java.lang.reflect.InvocationTargetException toneladas, además de otras excepciones .. Me di cuenta que es una Mucho menos preguntas, pero después de muchas horas de probar varias cosas, simplemente no sé qué hacer. He leído algo sobre @WebFault pero no tengo idea de cómo especificar esto correctamente (adjuntar mi excepción a un método particular ...)
Por favor, ayuda, todas las ideas son más que bienvenidas!
Excepciones que recibo: La invocación del servicio arrojó una excepción con el mensaje: null; Consulte el registro del servidor para obtener más información
Exceptions details : java.lang.reflect.InvocationTargetException
javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:330)
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:106)
at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1002)
at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:942)
at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:404)
...
Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:301)
... 24 more
Caused by: bank_services.LoginException_Exception: excepts.LoginException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:145)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:123)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144)
at $Proxy383.checkUserExist(Unknown Source) ... 29 more
Dijiste que cuando lanzas LoginException, obtienes "decenas de otras excepciones, excepto la que yo quiero". ¿Podría mostrarnos qué excepciones se lanzan en su lugar? –
cierto que, actualizó mi pregunta con los detalles requeridos! – Mike
alguien ...? Ya estoy todo el día, debe haber una solución, es un problema para principiantes ... – Mike