2017-05-26 80 views
0

我將使用IBM的Rational Developer和WebSphere Application Server龍目島和Web服務:WSDL定義無法實現類

我正在開發Java Web服務(與JAX-WS)通過註釋生成在企業應用程序中,我有一個EJB項目,一個發佈Web服務的Web項目和一個包含這兩個模塊的EAR。當我將EAR部署到WAS時,出現以下錯誤消息:

[26/05/17 16.37.38:254 CEST] 00000057 WSModuleDescr E WSWS7027E: Impossibile creare correttamente le descrizioni del servizio JAX-WS a causa del seguente errore: javax.xml.ws.WebServiceException: WSWS7054E: Impossibile generare il file WSDL (Web Services Description Language) per la classe di implementazione del servizio Web it.bz.prov.as400.personal.logic.AnagraficaImpl a causa del seguente errore: java.lang.Exception: A WSDL Definition could not be generated for the implementation class: it.bz.prov.as400.personal.logic.AnagraficaImpl 
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:262) 
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.generateWSDL(EndpointDescriptionImpl.java:2084) 
at org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl.<init>(EndpointDescriptionImpl.java:434) 
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:401) 
at org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl.<init>(ServiceDescriptionImpl.java:297) 
at org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl.createServiceDescriptionFromDBCMap(DescriptionFactoryImpl.java:273) 
at org.apache.axis2.jaxws.description.DescriptionFactory.createServiceDescriptionFromDBCMap(DescriptionFactory.java:524) 
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.buildJAXWSServices(WSModuleDescriptorImpl.java:1364) 
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl._containsJAXWSWebServices(WSModuleDescriptorImpl.java:538) 
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.containsJAXWSWebServices(WSModuleDescriptorImpl.java:513) 
at com.ibm.ws.webservices.admin.utils.ServiceContainmentHelper.<init>(ServiceContainmentHelper.java:71) 
at com.ibm.ws.webservices.admin.utils.CommonUtils.getServiceContianmentHelper(CommonUtils.java:690) 
at com.ibm.ws.webservices.admin.utils.CommonUtils.hasWebServices(CommonUtils.java:295) 
at com.ibm.ws.webservices.admin.utils.CommonUtils.hasJAXWSWebServices(CommonUtils.java:238) 
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.getWebServiceType(DeploymentValidation.java:309) 
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.validateEarModules(DeploymentValidation.java:381) 
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.validateTargetForPartialUpdate(DeploymentValidation.java:1182) 
at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:168) 
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:315) 
    at java.lang.Thread.run(Thread.java:790) 
Caused by: java.lang.Exception: A WSDL Definition could not be generated for the implementation class: it.bz.prov.as400.personal.logic.AnagraficaImpl 
    at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:242) 
    ... 19 more 

我不使用maven或ant構建項目。

經過長時間(ugh)的研究,我發現錯誤信息出現在Web模塊中用於Web服務的類的間接依賴關係出現問題時,即在EJB項目中實現了Web服務使用一個本身依賴於另一個未提供的jar的jar。 具體而言,當我在Web服務實現使用的類中放置lombok註釋(例如@Data或@Getter)時,會出現此問題。

讓我感到困惑的是,Web服務的工作原理與其他所有服務一樣。每次將項目部署到WAS時,我都會有這個堆棧跟蹤。 所以,問題: - 我不得不擔心這個錯誤信息? - 我該如何擺脫它?我可以添加到classpath龍目島dependends所有罐子,但我寧願不要(也因爲我似乎無法找到依賴於龍目島的列表)

謝謝和抱歉,我的英語不好

回答

0

龍目島沒有任何依賴關係。

您是否使用任何工具來處理源代碼?

披露:我是一名龍目島開發人員。

+0

對不起,我不確定你的意思是「處理源代碼的工具」?我使用IBM的Rational Application Developer(基於Eclipse)編寫代碼,從那裏構建並從那裏部署到websphere(使用RAD的集成「服務器」視圖)。 –