java - 使用 jdk 1.5 运行时,getNamespaceContext() 出现 NoSuchMethodError,但使用 1.6 则不然

标签 java jax-ws java-5 nosuchmethoderror

我正在运行一个用 java 编写的程序,部署在 Oracle 应用程序服务器上,运行 1.5 JVM。以下是堆栈跟踪:

Exception in thread "main" java.lang.NoSuchMethodError: com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.getNamespaceContext()Lcom/sun/org/apache/xerces/internal/xni/NamespaceContext;
 at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.<init>(XMLStreamReaderImpl.java:99)
 at com.sun.xml.internal.stream.XMLInputFactoryImpl.getXMLStreamReaderImpl(XMLInputFactoryImpl.java:264)
 at com.sun.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:136)
 at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory$Zephyr.newInstance(XMLStreamReaderFactory.java:251)
 at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.<clinit>(XMLStreamReaderFactory.java:84)
 at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:805)
 at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
 at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
 at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:265)
 at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:228)
 at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:176)
 at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
 at javax.xml.ws.Service.<init>(Service.java:56)
 at com.earthport.bind.MerchantAPIService.<init>(MerchantAPIService.java:50)
 at com.earthport.client.service.stub.MerchantAPIClientImpl$1CustomMerchantAPIService.    <init>(MerchantAPIClientImpl.java:107)
 at     com.earthport.client.service.stub.MerchantAPIClientImpl.createMerchantAPIService(MerchantAPI    ClientImpl.java:111)
 at com.earthport.client.service.stub.MerchantAPIClientImpl.<init>    (MerchantAPIClientImpl.java:84)
 at     com.earthport.client.service.ServiceProxyFactoryImpl.createServiceProxy(ServiceProxyFactoryI    mpl.java:25)
 at utils.AmxEPAccCre.<init>(AmxEPAccCre.java:79)
 at utils.WService.<init>(WService.java:95)
 at utils.WService.main(WService.java:795)
Process exited.

如果我使用 jdk 1.6 运行完全相同的程序,则该程序运行完美。这是图书馆引用的具体问题吗?有人以前见过这个异常吗?

干杯。

最佳答案

我敢打赌,您的应用程序或 Oracle AppServer 附带的 Xerces 实现与 JDK 附带的 Xerces 实现之间存在冲突。

它适用于 JDK6 中的版本,但与 JDK 5 中的版本不兼容。

关于java - 使用 jdk 1.5 运行时,getNamespaceContext() 出现 NoSuchMethodError,但使用 1.6 则不然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869826/

相关文章:

java - 用叠瓦式 for 循环填充数组

java - 如何通过电子邮件 ID 在 Quora 中查找人员详细信息?

java - 打印文本文件的行时,阅读器返回每行之间的行间距

java - dumpTreshold 不工作

java - 如何正确设置 JVM 时区

java - 从 Java 1.5 移植到 1.6 时如何调试?

java - 尝试将 JSON 字符串发送到 Android 客户端时出现 500 内部服务器错误 GAE?

java - JDK交叉编译使用哪个版本的JAX WS和JAXB?

web-services - "prefix xsd is not bound to a namespace"迁移到 Java 8 后使用 JAXB 取消编码 SOAPFault

java - 是否可以将 Java 1.5 源 Web 应用程序编译为 1.4?