2012-10-05 79 views
1

我在Java 1.7嘗試這種tutorial,但如果我選擇了Java 1.6的我得到這個異常:JAX-WS Web服務沒有的Java EE容器1.6和1.7

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 

源是avaible here

歡迎您提出所有建議。

+0

請在問題中包含相關信息,而不是指向外部視頻和文章。 – Keppil

回答

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; 
    } 
}