Spring WS DefaultWsdl11Definition 错误
我正在使用 Spring WS 并声明 DefaultWsdl11Definition bean 来动态生成 WSDL 文件。
但是,当我启动网络服务器(tomcat)时,我收到一个 bean 实例化错误,原因是:
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
SpringWS-Servlet.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
谢谢
I am using Spring WS and declaring a DefaultWsdl11Definition bean to generate the WSDL Files on the fly.
However , When i start the webserver (tomcat) I get a bean instantiaion error due to :
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
Bean in SpringWS-Servlet.xml
<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>
Any Idea what the problem might be ..
PS : Spring version is 3.0.5 , Spring WS Version is 2.0.0-M3
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Spring-WS 依赖于 WSDL4J 库,您似乎缺少该库。
Spring-WS depends on the WSDL4J library, which you seem to be missing.
我遇到了同样的错误。然后我意识到缺少 wsdl4j 依赖项。
I got the same error. Then I realized that wsdl4j dependency was missing.
如果您升级 Spring-ws 版本,您可以使用下面的 pom.xml
In case if you upgrade your Spring-ws version you can use below pom.xml
您需要包含 WSDL 库。 Spring WS Core 2.0.0-M1 的 POM 包含此参考:
http://mvnrepository.com/artifact/org.springframework.ws/spring-ws-core/2.0.0-M1
You need the WSDL library to be included. The POM for Spring WS Core 2.0.0-M1 includes this reference:
http://mvnrepository.com/artifact/org.springframework.ws/spring-ws-core/2.0.0-M1