Escribí un servicio web y traté de lanzar mi excepción personalizada, pero recibo un error por favor ayúdame a resolverlo.cómo usar JAX-WS webfault
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService(name = "WebService")
public class WebServiceTest {
public String sayHello(String name) throws InvalidInputException {
throw new InvalidInputException("I am testing", null);
}
public static void main(String[] args) {
WebServiceTest server = new WebServiceTest();
Endpoint endpoint = Endpoint.publish(
"http://localhost:9191/webServiceTest", server);
}
}
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlType;
@XmlType(name = "InputMessageValidationFaultType")
public class FaultBean {
@XmlAttribute
protected String msg;
public String getMsg() {
return msg;
}
public void setMsg(String value) {
this.msg = value;
}
}
import javax.xml.ws.WebFault;
@WebFault(faultBean = "mytest.com.inc.FaultBean")
public class InvalidInputException extends Exception {
private static final long serialVersionUID = 1L;
private FaultBean faultBean;
public InvalidInputException() {
super();
}
public InvalidInputException(String message, FaultBean faultBean,
Throwable cause) {
super(message, cause);
this.faultBean = faultBean;
}
public InvalidInputException(String message, FaultBean faultBean) {
super(message);
this.faultBean = faultBean;
}
public FaultBean getFaultInfo() {
return faultBean;
}
}
ERROR MENSAJE Excepción en hilo "principal" java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName() Ljava/lang/cadena; en com.sun.xml.ws.model.RuntimeModeler.processExceptions (RuntimeModeler.java:1162) en com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod (RuntimeModeler.java:898) en com.sun. xml.ws.model.RuntimeModeler.processMethod (RuntimeModeler.java:666) en com.sun.xml.ws.model.RuntimeModeler.processClass (RuntimeModeler.java:420) en com.sun.xml.ws.model. RuntimeModeler.buildRuntimeModel (RuntimeModeler.java:254) en com.sun.xml.ws.server.EndpointFactory.createSEIModel (EndpointFactory.java:338) en com.sun.xml.ws.server.EndpointFactory.createEndpoint (EndpointFactory. java: 201) en com.sun.xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:505) en com.sun.xml.ws.transport.http.server.EndpointImpl.createEndp oint (EndpointImpl.java:257) en com.sun.xml.ws.transport.http.server.EndpointImpl.publish (EndpointImpl.java:181) en com.sun.xml.ws.spi.ProviderImpl.createAndPublishEndpoint (ProviderImpl.java:123) en javax.xml.ws.Endpoint.publish (Endpoint.java:170) en mytest.com.inc.WebServiceTest.main (WebServiceTest.java:13)
estoy usando la versión 2.1.10 ** **. ¿Puede decirme cómo obtengo la versión ** 2.2.x **, cómo usarla ya que implementaré esto en tomcat y no como un simple programa de Java. ** Muchas gracias ** – Arvind
hasta donde yo sé, las últimas versiones de la implementación de referencia JAX-WS son 2.1.7 y 2.2.3 y se pueden encontrar allí: http://jax-ws.java.net/ – gastush