Веб-сервисы JAX-WS без контейнеров Java EE 1.6 и 1.7
Я пробовал этот урок в Java 1.7, но если я выбрал 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
источник доступен здесь
Все предложения приветствуются.
1 ответ
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;
}
}