[jboss-user] [JBossWS] - WSProvideTask throws NoClassDefFoundError while class in cla

Ollie1979 do-not-reply at jboss.com
Tue Feb 19 06:38:27 EST 2008


Hi,

I am new to JBoss and web services so bear with me. I'm trying to generate artifacts for my web service using the wsprovide tool/ant task and I keep getting exceptions.

This is my web service:

package helloworld;
  | 
  | import javax.jws.WebService;
  | 
  | import org.springframework.beans.factory.annotation.Autowired;
  | import org.springframework.web.context.support.SpringBeanAutowiringSupport;
  | 
  | @WebService
  | public class HelloWorld extends SpringBeanAutowiringSupport {	
  | 	
  | 	@Autowired
  | 	private MessageProvider messageProvider ;
  | 	
  | 	public String sayHello(String name) {		
  | 		return messageProvider.getMessage() + " " + name ;
  | 	}
  | }

I'm deploying this on JBoss using the Eclipse WTP plugin and it works fine. My client can call this web service without a problem. However, I would like to generate the web service artifacts myself (instead of letting JBoss take care of it) and my Ant script keeps throwing exceptions.

This is my Ant build script:

  | <?xml version="1.0" encoding="UTF-8"?>
  | <project name="helloworld" default="generate-artifacts">
  | 	<description>
  |   	Generates JAX-WS artifacts for our service endpoint implementation(s)
  |   </description>
  | 
  | 	<property file="build.properties" />
  | 	
  | 	<path id="wsprovide.path">
  | 		<fileset dir="${jboss.home}/client" includes="*.jar" />
  | 	</path>
  | 	
  |   <target name="generate-artifacts">
  |   	<taskdef name="WSProvideTask" classname="org.jboss.wsf.spi.tools.ant.WSProvideTask">
  |   		<classpath refid="wsprovide.path" />
  |   	</taskdef>
  | 
  |   	<WSProvideTask
  |   	     fork="true"
  |   	     genwsdl="true"
  |   	     verbose="true"
  |   			 sei="helloworld.HelloWorld">
  |   		<classpath>
  |   			<pathelement path="build/classes"/>
  |   			<pathelement path="WebContent/WEB-INF/lib"/>
  |   		</classpath>
  |   	</WSProvideTask>
  |   </target>
  | </project>

And this is it's output:

  | Buildfile: C:\Documents and Settings\Ollie\workspace\helloworld\build.xml
  | 
  | generate-artifacts:
  | [WSProvideTask] Command invoked: org.jboss.wsf.spi.tools.cmd.WSProvide -w -t helloworld.HelloWorld
  | [WSProvideTask] Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/web/context/support/SpringBeanAutowiringSupport
  | [WSProvideTask] 	at java.lang.ClassLoader.defineClass1(Native Method)
  | [WSProvideTask] 	at java.lang.ClassLoader.defineClass(Unknown Source)
  | [WSProvideTask] 	at java.security.SecureClassLoader.defineClass(Unknown Source)
  | [WSProvideTask] 	at java.net.URLClassLoader.defineClass(Unknown Source)
  | [WSProvideTask] 	at java.net.URLClassLoader.access$000(Unknown Source)
  | [WSProvideTask] 	at java.net.URLClassLoader$1.run(Unknown Source)
  | [WSProvideTask] 	at java.security.AccessController.doPrivileged(Native Method)
  | [WSProvideTask] 	at java.net.URLClassLoader.findClass(Unknown Source)
  | [WSProvideTask] 	at java.lang.ClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at java.lang.ClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at org.jboss.wsf.spi.tools.cmd.WSProvide.generate(WSProvide.java:162)
  | [WSProvideTask] 	at org.jboss.wsf.spi.tools.cmd.WSProvide.main(WSProvide.java:77)
  | [WSProvideTask] Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.SpringBeanAutowiringSupport
  | [WSProvideTask] 	at java.net.URLClassLoader$1.run(Unknown Source)
  | [WSProvideTask] 	at java.security.AccessController.doPrivileged(Native Method)
  | [WSProvideTask] 	at java.net.URLClassLoader.findClass(Unknown Source)
  | [WSProvideTask] 	at java.lang.ClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at java.lang.ClassLoader.loadClass(Unknown Source)
  | [WSProvideTask] 	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  | [WSProvideTask] 	... 13 more
  | 
  | BUILD FAILED
  | C:\Documents and Settings\Ollie\workspace\helloworld\build.xml:22: Could not invoke WSProvideTask
  | 
  | Total time: 1 second

WebContent/WEB-INF/lib (see classpath of WSProvideTask) contains spring.jar. What's going on? Why can't WSProvideTask find the sping class? Using the command line yields the same result (NoClassDefFoundError). It's probably something silly but I can't figure it out.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4130368#4130368

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4130368



More information about the jboss-user mailing list