2017-05-26 36 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的集成“服务器”视图)。 –