加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 当xercesImpl.jar位于类路径上时,NetBeans Web服务客户

发布时间:2020-12-14 19:11:40 所属栏目:Java 来源:网络整理
导读:当xercesImpl.jar作为库包含时,我无法在NetBeans Web应用程序中创建Web服务客户端. 使用NetBeans 6.9和GlassFish 3.0.1: 1.)创建新的Web应用程序 2.)创建一个新的Web服务 3.)向创建的Web服务添加一个新操作(只是让它返回null 实现并不重要) 4.)将Web服务部

当xercesImpl.jar作为库包含时,我无法在NetBeans Web应用程序中创建Web服务客户端.

使用NetBeans 6.9和GlassFish 3.0.1:

1.)创建新的Web应用程序
2.)创建一个新的Web服务
3.)向创建的Web服务添加一个新操作(只是让它返回null – 实现并不重要)
4.)将Web服务部署到GlassFish(工作正常)
5.)将xercesImpl.jar(我使用的是版本2.9.1)添加为Web服务的库(我需要使用xerces作为我正在使用的第三方库)
6.)停止Glassfish.
7.)清理并构建项目.
8.)运行项目.测试Web服务是否仍然有效(确实如此).
9.)创建一个新的Web服务客户端.将它指向WSDL(我正在使用http://www.webservicex.com/CurrencyConvertor.asmx?wsdl作为测试).
10.)停止Glassfish.
11.)清理并构建项目.

显示错误消息:

C:NetBeansProjectsWSTestnbprojectjaxws-build.xml:43:
Error starting wsimport: BUILD FAILED
(total time: 1 second)

第43行是:

12.)重新启动NetBeans.
13.)清理并构建项目. (现在构建工作)
14.)运行项目.除了这个单行错误消息外,GlassFish启动正常:

SEVERE: Error in resolving the catalog

15.)加载Web Service Tester页面会在GlassFish日志中产生以下异常:

WARNING: Servlet web service endpoint 'NewWebService' failure
java.lang.IllegalStateException: WEB9031: WebappClassLoader unable to load resource [META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration],because it has not yet been started,or was already stopped
at org.glassfish.web.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2085)
at org.glassfish.web.loader.WebappClassLoader.findResource(WebappClassLoader.java:1018)
at org.glassfish.web.loader.WebappClassLoader.getResourceAsStream(WebappClassLoader.java:1255)
at org.apache.xerces.parsers.SecuritySupport$6.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.xerces.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.findJarServiceProvider(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.SAXParser.

关于我能做些什么来解决这个问题的任何想法?请注意,它仅在我创建新的Web服务客户端/参考之后发生.即使有人可以建议我应该创建一个错误的项目(即它是一个NetBeans错误吗?一个Glassfish错误?一个JAX-WS错误?等等),这将是好事.

最佳答案
好吧,我终于找到了解决方案:

http://forums.java.net/jive/thread.jspa?threadID=59445

我需要做的是从xercesImpl.jar文件中删除这些文件:

META-INF/services/javax.xml.parsers.DocumentBuilderFactory
META-INF/services/javax.xml.parsers.SAXParserFactory

当修改后的JAR文件包含在我的项目中时,它不再导致任何问题.

如果有人有更整洁的解决方案,请告诉我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读