当前位置: 首页 > 知识库问答 >
问题:

Lombok和Web服务:无法为实现类生成WSDL定义

常俊爽
2023-03-14

我正在使用IBMRationalDeveloper和WebSphereApplicationServer

我正在开发一个java Web服务(使用jax-ws),通过企业应用程序中的注释,我有一个EJB项目,一个发布Web服务的Web项目和一个包含两个模块的EAR。当我将EAR部署到WIS时,会收到以下错误消息:

[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。具体来说,当我将lombok注释(例如@Data或@Getter)放入web服务实现使用的类中时,就会出现这个问题。

令我困惑的是,网络服务和其他一切一样运行完美。我只是在每次将项目部署到WAS时都有这个堆栈跟踪。所以,问题是:-我需要担心这个错误信息吗?-我如何摆脱它?我可以将Lombok依赖的所有罐添加到类路径中,但我不愿意这样做(也因为我似乎找不到Lombok的依赖列表)

谢谢抱歉我英语不好

共有1个答案

杭镜
2023-03-14

Lombok没有任何依赖项。

你使用任何处理源代码的工具吗?

披露:我是一个龙目山开发人员。

 类似资料:
  • 请原谅我的英语 我有一个使用jax ws和spring的应用程序,它可以在tomcat上正常工作,但我应该在WebSphere7上部署它。 WAS7引发以下异常: 00000027 WSModuleDescr E WSWS7027E:由于以下错误,JAX-WS服务描述无法正确构建:javax.xml.ws.WebServiceExc0019: WSWS7054E:无法为com.foo.MyEndp

  • 有几种从wsdl生成java类的方法,例如Apache CXF、JAXB和JAX-WS。 我需要一个解决方案,工作与maven和曲库文件。 我的问题是,我有两个Maven模块A和B。其中一个模块(模块A)包含逻辑类,另一个模块(模块B)包含作为资源的xsd文件。现在我想从逻辑模块(模块A)生成类,xsd文件不应该作为资源添加到此模块。 我已经创建了一个catalag。包含公共名称空间并指向mave

  • 我试图从WSDL生成web服务客户机,我对这一点一无所知,所以无法找出错误。我试过: 这给了我一个错误: 我还尝试了apache cxf 3.1.1在eclipse中生成Web服务客户端,但得到这个错误: 我的WSDL文件是: 请帮我找出任何方式的错误,无论是wsimport还是apache cxf。我会非常感激的。

  • 我学习了Spring Web Services入门教程,并编写了一个示例Web应用程序,该应用程序在上动态生成WSDL,endpoint在上服务请求,到目前为止还不错。 现在,我将webapp转换为Spring Boot应用程序:我添加了必要的依赖项,在带有endpoint的包上面的包中创建了一个注释类,并且endpoint实现仍然会回复请求。 但是我不能再从现有的XSD中获得生成的WSDL。 由

  • 我试图通过使用WSDL URL生成一个模式,但失败了,得到了这个错误代码: 目标组织的执行默认值。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3:generate failed:plugin org。jvnet。jaxb2。maven2:maven-jaxb2-plugin:0.12.3或其依赖项之一无法解析:无法解析以下工件:org。jvnet。jaxb

  • 问题内容: 我有一个带有“逻辑”类的包(例如CheckAuthenticationDataLogic.java,GetVocabulariesLogic.java)。还有另一个类- ApiService.java用于生成wsdl。ApiService.java充满了这样的方法: 如您所见,它只是一个代理方法…所以我想避免做两次相同的工作,而无需编写ApiService.java就直接从逻辑类生成W