ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

部署WAR时,glassfish无法找到我的wsdl

2019-11-06 23:13:54  阅读:223  来源: 互联网

标签:glassfish cxf java


我有一个首先创建WSDL的CXF服务服务,当我将WAR部署到glassfish应用服务器2.1.1中时,出现以下异常:

java.io.FileNotFoundException: C:\Sun\AppServer\domains\domain1\config\TestService.wsdl

如果将WSDL放在该位置,则一切正常.如何设置我的WAR,以便将TestService.wsdl放入config文件夹?

谢谢!

更新:在将此服务部署到Glassfish时仍然遇到问题.照原样部署并在Tomcat中正常运行.

我在构建过程中将-wsdlLocation属性设置为“ WEB-INF / wsdl / TestService.wsdl”,但是现在当我在glassifish中部署应用程序时,server.log中出现以下异常

[#|2010-02-01T10:47:06.164-0500|SEVERE|sun-        
appserver2.1|javax.enterprise.system.tools.deployment|_ThreadID=23;_ThreadName=Thread-  
501;_RequestID=d3a3f49b-9329-477d-b6fc-24e0f4e4f3fa;|wsdl file 
file:/C:/development/wexlink/FileUploadService/wsdl/FileUploadService.wsdl does not 
exist for web service FileUploadService|#]

[#|2010-02-01T10:47:06.977-0500|SEVERE|sun     
appserver2.1|javax.enterprise.system.tools.deployment|_ThreadID=23;_ThreadName=Thread-  
501;_RequestID=d3a3f49b-9329-477d-b6fc-24e0f4e4f3fa;|Exception occured in J2EEC 
Phasejava.lang.RuntimeException: wsdl file 
file:/C:/development/wexlink/FileUploadService/wsdl/FileUploadService.wsdl does not 
exist for web service FileUploadService
com.sun.enterprise.deployment.backend.IASDeploymentException: Error loading deployment   
descriptors for module [FileUploadService] -- wsdl file 
file:/C:/development/wexlink/FileUploadService/wsdl/FileUploadService.wsdl does not 
exist for web service FileUploadService
    at   com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:406)
    at com.sun.enterprise.deployment.backend.ModuleDeployer.loadDescriptors(ModuleDeployer.java:426)
    at com.sun.enterprise.deployment.backend.WebModuleDeployer.deploy(WebModuleDeployer.java:160)
    at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:182)
at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:208)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:283)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:835)
at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)
at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:225)

引起原因:java.lang.RuntimeException:wsdl文件文件:/ C:/development/wexlink/FileUploadService/wsdl/FileUploadService.wsdl对于Web服务FileUploadService不存在
        在com.sun.enterprise.deployment.util.ModuleContentValidator.accept(ModuleContentValidator.java:187)
        在com.sun.enterprise.deployment.WebBundleDescriptor.visit(WebBundleDescriptor.java:1410)
        在com.sun.enterprise.deployment.archivist.WebArchivist.postOpen(WebArchivist.java:171)
        在com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:215)
        在com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:813)
        在com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:794)
        位于com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:365)
    …还有10个
|#]

解决方法:

通常,您会将其放在WEB-INF中.然后,当您使用wsdl2java或maven插件生成代码时,将带有WEB-INF / TestService.wsdl或类似内容的-wsdlLocation标志传入,以将get生成到代码中.

就是说,使用CXF,可以在jaxws:endpoint配置中使用jaxws:endpoint上的属性覆盖wsdlLocation以指定类似“ WEB-INF / TestService.wsdl”的名称.

标签:glassfish,cxf,java
来源: https://codeday.me/bug/20191106/2001702.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有