当 xercesImpl.jar 位于类路径上时,NetBeans Web 服务客户端出现问题

2024-01-07

当 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 http://xerces.apache.org/mirrors.cgi(我正在使用版本 2.9.1)作为 Web 服务的库(我正在使用的第三方库需要 xerces)
6.) 停止玻璃鱼。
7.) 清理并构建项目。
8.) 运行项目。测试 Web 服务是否仍然有效(确实有效)。
9.) 创建一个新的 Web 服务客户端。将其指向 WSDL(我正在使用http://www.webservicex.com/CurrencyConvertor.asmx?wsdl http://www.webservicex.com/CurrencyConvertor.asmx?wsdl只是作为一个测试)。
10.) 停止玻璃鱼。
11.) 清理并构建项目。

显示错误消息:

C:\NetBeansProjects\WSTest\nbproject\jaxws-build.xml:43: 启动 wsimport 时出错:构建失败 (总时间:1秒)

第 43 行是:

<wsimport sourcedestdir="${build.generated.dir}/jax-wsCache/CurrencyConvertor" 
destdir="${build.generated.dir}/jax-wsCache/CurrencyConvertor" wsdl=
"${basedir}/${conf-dir}xml-resources/web-service-references/
CurrencyConvertor/wsdl/www.webservicex.com/CurrencyConvertor.asmx.wsdl"
catalog="catalog.xml" extension="true" verbose="true"
wsdlLocation="http://www.webservicex.com/CurrencyConvertor.asmx?wsdl" 
xnocompile="true" xendorsed="true">

12.) 重新启动 NetBeans。
13.) 清理并构建项目。 (构建现在可以运行)
14.) 运行项目。 GlassFish 启动正常,除了这一行错误消息:

严重:解析目录时出错

15.) 加载 Web 服务测试器页面会在 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.<init>(Unknown Source)
at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
at com.sun.org.apache.xml.internal.resolver.readers.SAXCatalogReader.readCatalog(SAXCatalogReader.java:238)
at com.sun.org.apache.xml.internal.resolver.Catalog.parseCatalog(Catalog.java:680)
at com.sun.xml.ws.util.xml.XmlUtil.createEntityResolver(XmlUtil.java:270)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:560)
at org.glassfish.webservices.JAXWSServlet.registerEndpoint(JAXWSServlet.java:405)
at org.glassfish.webservices.JAXWSServlet.doInit(JAXWSServlet.java:264)
at org.glassfish.webservices.JAXWSServlet.init(JAXWSServlet.java:99)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1428)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:1060)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:187)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)

WARNING: StandardWrapperValve[NewWebService]: PWC1382: Allocate exception for servlet NewWebService
javax.servlet.ServletException
at org.glassfish.webservices.JAXWSServlet.doInit(JAXWSServlet.java:271)
at org.glassfish.webservices.JAXWSServlet.init(JAXWSServlet.java:99)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1428)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:1060)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:187)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Caused by: 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.<init>(Unknown Source)
at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
at com.sun.org.apache.xml.internal.resolver.readers.SAXCatalogReader.readCatalog(SAXCatalogReader.java:238)
at com.sun.org.apache.xml.internal.resolver.Catalog.parseCatalog(Catalog.java:680)
at com.sun.xml.ws.util.xml.XmlUtil.createEntityResolver(XmlUtil.java:270)
at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:560)
at org.glassfish.webservices.JAXWSServlet.registerEndpoint(JAXWSServlet.java:405)
at org.glassfish.webservices.JAXWSServlet.doInit(JAXWSServlet.java:264)
... 26 more

我能做些什么来解决这个问题有什么想法吗?请注意,它仅在我创建新的 Web 服务客户端/引用后才会发生。即使有人可以建议我应该针对哪个项目创建错误(即,它是 NetBeans 错误吗?Glassfish 错误?JAX-WS 错误?等等),那也很好。


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

http://forums.java.net/jive/thread.jspa?threadID=59445 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 文件包含在我的项目中时,它不再导致任何问题。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 xercesImpl.jar 位于类路径上时,NetBeans Web 服务客户端出现问题 的相关文章

随机推荐

  • 如何在 Flutter 中创建带圆角的模态底板?

    显示模态底部表不提供任何造型或装饰 我想创建类似 Google Tasks 底页的内容 更新于 2019 08 05 您现在可以使用默认值来完成此操作showModalBottomSheet现在支持添加的方法ShapeBorder并且bac
  • Jooq LocalDateTime 字段使用系统时区而不是会话时区

    我正在使用 jooq v3 11 9 访问以 UTC 时间运行的 MySQL 数据库 我使用生成的实体并使用 JSR 310 时间类型 我在配置中使用的选项
  • Spring 和 XSLT,字符编码

    我对 HTML 视图的正确字符集编码部分有疑问 JSP 文件中的 XSL 文件生成 html 数据库中的值编码正确 但表的静态标头包含错误的字符 例如 有一些标题名称为 伊米斯 纳兹维斯科 哈斯洛 普莱奇 但它会生成 Imi Nazwisk
  • 如何使用 Xaml 中的 SortDescriptions 对 TreeView 项目进行排序?

    我有一个清单Layers绑定到一个TreeView其中每个实例都有一个列表Effects 我通过 HierarchicalDataTemplate 向它们展示 该模板效果很好 但我正在尝试使用它们对它们进行排序SortDescription
  • 使用 JavaScript/JQuery 打开最大化新窗口的最快方法?

    什么是fastest打开新窗口的方法 最大化 使用与大多数浏览器兼容的 JavaScript 和 或 JQuery
  • 使用数据属性滚动到元素

    我试图弄清楚如何使用数据属性让元素滚动到与 ID 匹配的特定元素 而不是使用锚标记 这就是我正在做的事情 一旦用户单击按钮 它将显示内容并滚动到与数据属性匹配的特定元素 我似乎无法让它滚动 div class container div c
  • 在运行时动态组合 Boost.Spirit.Qi 规则(任意数量的替代方案)

    我想知道 Boost Spirit Qi 中是否有一种方法可以在运行时动态组合任意数量的规则 Boost Spirit 的内部工作原理对我来说仍然有点神秘 但由于规则是作为对象实现的 所以它似乎是可行的 我的动机是使我的语法的某些部分易于扩
  • 通过 PHP 启动服务器端打印作业

    这很可能不是一件容易的事 但情况如下 我编写了一个 C 命令行应用程序 其中 使用 ITextSharp 创建 PDF 将其写入磁盘 uses Acrord32 exe 这是 Acrobat Reader 通过System Diagnost
  • 将bootloader和内核制作成iso? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 如何创建将内核加载到 iso 的简单引导加载程序 已经过去 5 天了 我在 google 中搜索并进行
  • Java - Swing - JTable - 设置所选行的颜色,但不设置单元格的颜色

    我试图让我的表格在您单击单元格时选择整行 可以通过关闭列选择来完成 但是 我不希望您单击的特定单元格周围的超厚边框突出显示 我希望这很容易 但显然它涉及渲染器 所以我做了很多研究 我能得到的最接近的是 JTable contactTable
  • SML:为什么函数总是采用一个参数使语言变得灵活

    我 从一本 SML 书中 了解到 SML 中的函数总是只接受一个参数 一个元组 接受多个参数的函数只是一个接受一个元组作为参数的函数 通过函数绑定中的元组绑定来实现 我明白这一点 但在这之后 书上说了一些我不明白的话 this point
  • Python - 使用 BeautifulSoup 抓取 ESPN 表

    我正在尝试使用 BeautifulSoup 来抓取 季节统计 表页 有什么办法可以将整个表变成一个汤对象吗 目前我的代码是这样的 seasonStats soup find table id statsTable categoryList
  • Swift 中使用 SHA512 的哈希字符串

    有人知道如何在 swift 中重现 PHP 哈希方法 hash SHA512 value true 吗 我尝试将 CommonCrypto C 库与以下代码一起使用 extension String func digest length I
  • 五分钟规则 - 一次磁盘 I/O 访问的价格

    这是一个非常有趣的话题 http cacm acm org magazines 2009 7 32091 the five minute rule 20 years later fulltext 他们使用以下公式来计算访问间隔时间 Brea
  • 如何在 Raspberry Pi 上使用 TBB 构建 OpenCV?

    我正在尝试使用 TBB 构建 OpenCV 以启用多线程 Note 我能够构建 OpenCV 2 4 10无TBB从源代码开始 然后使用 OpenCV Python 绑定 当我尝试全新安装并在安装了 TBB 的情况下构建 OpenCV 时W
  • “docker compose”和“docker-compose”之间的区别

    Note 这个问题是在更新 docker 文档之前创建的 这就是它们更新的原因 请参阅this https stackoverflow com a 66526176 1219280回答 请不要发布指出差异的文档的答案 我一直在使用docke
  • Delphi 中整数读取是原子的吗?

    对于从XE2到XE8的Delphi编译器 对于非windows目标平台 用 Volatile 注释的整数数据成员的读取操作是原子的吗 我知道对于 Windows 平台的情况 当且仅当数据成员对齐到 4 字节时它是原子的 但是非 Window
  • 默认 MySQL 数据库名称

    我正在尝试在服务器上安装 mybb 但管理员响应时间太长 除了数据库名称之外 我拥有所需的所有信息 Linux 服务器上的 mysql 有默认名称吗 没有默认数据库 全新安装的 MySQL 服务器将有 0 个数据库 安装脚本将运行mysql
  • LINQ 本身是否支持将集合一分为二? [复制]

    这个问题在这里已经有答案了 给定一个项目集合 如何根据谓词将该集合拆分为 2 个子集合 您可以执行 2 个Where 搜索 但运行时间为 2 N 虽然仍然是 O n 但需要两倍的时间 显然不是首选 IEnumerable
  • 当 xercesImpl.jar 位于类路径上时,NetBeans Web 服务客户端出现问题

    当 xercesImpl jar 作为库包含时 我无法在 NetBeans Web 应用程序中创建 Web 服务客户端 使用 NetBeans 6 9 和 GlassFish 3 0 1 1 创建新的 Web 应用程序2 创建一个新的Web