2010-12-13 12 views
5

Sto utilizzando Spring WS e dichiaro un bean DefaultWsdl11Definition per generare al volo i file WSDL.Spring WS DefaultWsdl11Definition Error

Tuttavia, quando avvio il web server (Tomcat) ottengo un errore di instantiaion fagioli a causa di:

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> 

idea di cosa la il problema potrebbe essere ..

PS: versione Spring è 3.0.5, versione Spring WS è 2.0.0-M3

Grazie

risposta

12

Spring-WS dipende dalla libreria WSDL4J, che sembra manchi.

2

Nel caso in cui si aggiorna la versione Primavera-ws è possibile utilizzare sotto 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> 
Problemi correlati