我在java 1.7中尝试了这个tutorial,但是如果我选择了java 1.6,我得到了这个例外:
Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.company.jaxws.stockquote.service.jaxws.GetQuote is not found. Have you run APT to generate them?
at com.sun.xml.internal.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:256)
at com.sun.xml.internal.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:567)
at com.sun.xml.internal.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:514)
at com.sun.xml.internal.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:341)
at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:227)
at com.sun.xml.internal.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:308)
at com.sun.xml.internal.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:174)
at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:420)
at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:439)
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:208)
at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:138)
at com.company.jaxws.stockquote.service.StockQuoteService.publish(StockQuoteService.java:49)
at com.company.jaxws.stockquote.service.StockQuoteService.main(StockQuoteService.java:81)
Java Result: 1
来源是可用的here
欢迎所有建议。
答案 0 :(得分:0)
Try to add @SOAPBinding to your server endpoint implementation class.it may resolve the problem.
@WebService(name = "StockQuote", serviceName = "StockQuoteService")
@SOAPBinding(style = Style.DOCUMENT, use=Use.LITERAL)
public class StockQuoteImpl {
@WebMethod(operationName = "getQuote")
public double getQuote(String ticker) {
double result = 0.0;
if (ticker.equals("MHP")) {
result = 50.0;
} else if (ticker.equals("IBM")) {
result = 83.0;
}
return result;
}
}