2010-04-18 3 views
1

Я получаю ошибку NoSuchMethodError для org.w3c.dom.Document.setDocumentURI. Это странно, поскольку у меня есть rt.jar в пути JAVA_HOME.java.lang.NoSuchMethodError: org.w3c.dom.Document.setDocumentURI

Я создаю веб-службы с помощью CXF, и, кажется, ошибка, выходит из CXF:

java.lang.NoSuchMethodError: org.w3c.dom.Document.setDocumentURI(Ljava/lang/String;)V 
org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:760) 
org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:219) 
org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:179) 
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91) 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:403) 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:528) 
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:278) 
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:178) 
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100) 
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:105) 
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167) 
org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:349) 
org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:262) 
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:212) 
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:407) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
java.lang.reflect.Method.invoke(Method.java:597) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) 
java.security.AccessController.doPrivileged(Native Method) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380) 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264) 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429) 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728) 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380) 
org.apache.cxf.transport.servlet.CXFServlet.loadAdditionalConfig(CXFServlet.java:171) 
org.apache.cxf.transport.servlet.CXFServlet.updateContext(CXFServlet.java:139) 
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.java:101) 
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:70) 
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
java.lang.Thread.run(Thread.java:619) 

Может кто-то предложить несколько советов? Большое спасибо

ответ

3

Предполагаю, что вы используете Java 1.4.2 (где этот метод не существует) для вашего Tomcat. Поэтому проверьте, установлено ли значение JAVA_HOME равным 1,5+.

0

У вас, вероятно, есть древняя версия xerces на пути к классам. Определенно проверяйте версии xerces.

Смежные вопросы