当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:\NetBeansProjects\WSTest\nbproject\jaxws-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.Meta-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration],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错误?等等),这将是好事.