【发布时间】:2011-09-30 04:40:19
【问题描述】:
我已经编写了一个 web 服务并试图抛出我的自定义异常,但是我收到了错误,请帮助我解决它。
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;
}
}
错误信息 线程“main”中的异常 java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String; 在 com.sun.xml.ws.model.RuntimeModeler.processExceptions(RuntimeModeler.java:1162) 在 com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:898) 在 com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:666) 在 com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:420) 在 com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:254) 在 com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:338) 在 com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:201) 在 com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:505) 在 com.sun.xml.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:257) 在 com.sun.xml.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:181) 在 com.sun.xml.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:123) 在 javax.xml.ws.Endpoint.publish(Endpoint.java:170) 在 mytest.com.inc.WebServiceTest.main(WebServiceTest.java:13)
【问题讨论】:
标签: java web-services jax-ws