Java Spring WS-DefaultWSDL11定义错误
我正在使用SpringWS并声明一个DefaultWSDL11Definitionbean来动态生成WSDL文件 但是,当我启动Web服务器(tomcat)时,我得到一个bean实例错误,原因是:Java Spring WS-DefaultWSDL11定义错误,java,web-services,spring,spring-ws,Java,Web Services,Spring,Spring Ws,我正在使用SpringWS并声明一个DefaultWSDL11Definitionbean来动态生成WSDL文件 但是,当我启动Web服务器(tomcat)时,我得到一个bean实例错误,原因是: Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.ws.wsdl.wsdl11.DefaultWsdl11
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/wsdl/extensions/ExtensibilityElement
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:141)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958)
... 45 more
Caused by: java.lang.NoClassDefFoundError: javax/wsdl/extensions/ExtensibilityElement
at org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition.<init>(DefaultWsdl11Definition.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126)
... 47 more
Caused by: java.lang.ClassNotFoundException: javax.wsdl.extensions.ExtensibilityElement
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
... 53 more
原因:org.springframework.beans.beans实例化异常:无法实例化bean类[org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition]:构造函数引发异常;嵌套的异常是java.lang.NoClassDefFoundError:javax/wsdl/extensions/ExtensibilityElement
位于org.springframework.beans.BeanUtils.InstanceClass(BeanUtils.java:141)
位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:74)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBean(AbstractAutowireCapableBeanFactory.java:958)
... 还有45个
原因:java.lang.NoClassDefFoundError:javax/wsdl/extensions/ExtensibilityElement
位于org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition。(DefaultWsdl11Definition.java:56)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于org.springframework.beans.BeanUtils.InstanceClass(BeanUtils.java:126)
... 47多
原因:java.lang.ClassNotFoundException:javax.wsdl.extensions.ExtensibilityElement
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1671)
位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
... 53多
SpringWSServlet.xml中的Bean
<bean id="beanWS" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schema">
<bean class="org.springframework.xml.xsd.SimpleXsdSchema">
<property name="xsd" value="/WEB-INF/somexsd.xsd"/>
</bean>
</property>
<property name="portTypeName" value="beanWS"/>
<property name="locationUri"
value="http://localhost:8080/springws"/>
</bean>
你知道问题出在哪里吗
PS:Spring版本是3.0.5,Spring WS版本是2.0.0-M3
谢谢Spring WS依赖于您似乎缺少的库。您需要包含WSDL库。Spring WS Core 2.0.0-M1的POM包括以下参考:
如果您升级了Spring ws版本,您可以在pom.xml下面使用
<properties>
<spring.version>4.2.5.RELEASE</spring.version>
<spring.ws.version>2.2.4.RELEASE</spring.ws.version>
<log4j.version>1.2.16</log4j.version>
<apache.ws.version>1.6.19</apache.ws.version>
<context.path>spring-server</context.path>
</properties>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-core</artifactId>
<version>${spring.ws.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-ws-security</artifactId>
<version>${spring.ws.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.ws</groupId>
<artifactId>spring-xml</artifactId>
<version>${spring.ws.version}</version>
</dependency>
<dependency>
<groupId>org.apache.ws.xmlschema</groupId>
<artifactId>xmlschema-core</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.ws.security</groupId>
<artifactId>wss4j</artifactId>
<version>${apache.ws.version}</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
4.2.5.1发布
2.2.4.1发布
1.2.16
1.6.19
spring服务器
log4j
log4j
${log4j.version}
org.springframework
弹簧芯
${spring.version}
org.springframework
spring上下文
${spring.version}
org.springframework
弹簧网
${spring.version}
mysql
mysql连接器java
5.1.6
org.springframework
SpringWebMVC
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
春季aop
${spring.version}
org.springframework
春季方面
${spring.version}
公地收藏
公地收藏
3.2
org.springframework
弹簧oxm
${spring.version}
org.springframework.ws
SpringWS核心
${spring.ws.version}
org.springframework.ws
spring ws-security
${spring.ws.version}
org.springframework.ws
SpringXML
${spring.ws.version}
org.apache.ws.xmlschema
xmlschema核心
2.2.1
org.apache.ws.security
wss4j
${apache.ws.version}
wsdl4j
wsdl4j
1.6.2
我也犯了同样的错误。然后我意识到缺少wsdl4j依赖项
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
</dependency>
wsdl4j
wsdl4j