aspose file tools*
The moose likes Web Services and the fly likes problem in web services Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "problem in web services" Watch "problem in web services" New topic
Author

problem in web services

archana kaul
Greenhorn

Joined: Oct 01, 2003
Posts: 5
Hi I am new to web services. I want to make the ejb bean methods available to the remote client. I have created stateless session bean for this. I created the jar file and while creating the ear file I am getting the error.
I am using ant utility to create the ear file. I am attaching my build.xml here.
<project name="webServicesExample" default="build">
<target name="build" >
<delete dir="build_dir" />
<mkdir dir="build_dir" />
<copy todir="build_dir" file="trader.jar"/>
<servicegen
destEar="build_dir/trader.ear"
contextURI="web_services">
<service
ejbJar="build_dir/trader.jar"
targetNamespace="http://www.bea.com/examples/Trader"
serviceName="TraderService"
serviceURI="/TraderService"
generateTypes="True"
expandMethods="True" >
</service>
</servicegen>
</target>
</project>

When I run the ant command from the folder where this build.xml and the trade.jar files are present, it is giving the following exception.
Buildfile: build.xml
build:
[mkdir] Created dir: E:\web services\build_dir
[copy] Copying 1 file to E:\web services\build_dir
BUILD FAILED
file:E:/web%20services/build.xml:8: Could not create task or type of type: servi
cegen.
Ant could not find the task or a class this task relies upon.
This is common and has a number of causes; the usual
solutions are to read the manual pages then download and
install needed JAR files, or fix the build file:
- You have misspelt 'servicegen'.
Fix: check your spelling.
- The task needs an external JAR file to execute
and this is not found at the right place in the classpath.
Fix: check the documentation for dependencies.
Fix: declare the task.
- The task is an Ant optional task and optional.jar is absent
Fix: look for optional.jar in ANT_HOME/lib, download if needed
- The task was not built into optional.jar as dependent
libraries were not found at build time.
Fix: look in the JAR to verify, then rebuild with the needed
libraries, or download a release version from apache.org
- The build file was written for a later version of Ant
Fix: upgrade to at least the latest release version of Ant
- The task is not an Ant core or optional task
and needs to be declared using <taskdef>.
Remember that for JAR files to be visible to Ant tasks implemented
in ANT_HOME/lib, the files must be in the same directory or on the
classpath
Please neither file bug reports on this problem, nor email the
Ant mailing lists, until all of these causes have been explored,
as this is not an Ant bug.
Total time: 0 seconds

If anybody faced such type of problem, please help me.
Thanks
archana
Karthik Guru
Ranch Hand

Joined: Mar 06, 2001
Posts: 1209
It looks more of an ant related question. You are using a custom task servicegen. You need to have a taskdef element corresponding to that.
your build.xml s'd probably have an entry like this:
<taskdef name="serivegen" classname=" the java class that implements this task">
Now am not sure as to what is the implementation class for this task.
archana kaul
Greenhorn

Joined: Oct 01, 2003
Posts: 5
Hi karthik
Thanks for the reply. I have included taskdef element in the xml file. Now it is not giving the exception earlier, but it is giving different exception.
Buildfile: build.xml
build:
[mkdir] Created dir: E:\sample\build_dir
[copy] Copying 1 file to E:\sample\build_dir
No public execute() in class weblogic.webservice.servicegen
BUILD FAILED
file:E:/sample/build.xml:6: No public execute() in class weblogic.webservice.ser
vicegen
Total time: 0 seconds
The servicegen class file is present in the webservices.jar file in the weblogic server lib directory. I have just included it in the class path. I opened the code of the corresponding java file. It is not having the execute method. I cannot change this class as it is supplied by weblogic.
Can you tell me suggest me what to do?
Thanks,
archana
Karthik Guru
Ranch Hand

Joined: Mar 06, 2001
Posts: 1209
Originally posted by archana kaul:
I have included taskdef element in the xml file.
No public execute() in class weblogic.webservice.servicegen
BUILD FAILED
file:E:/sample/build.xml:6: No public execute() in class weblogic.webservice.servicegen

How did you figure out the "weblogic.webservice.servicegen" is the class that implements this task? Did you notice that in some other sample buid.xml file that ships with weblogic? Btw, which version of weblogic are you using?
I w'd expect the implementation class to be present under some
x.y.z.taskdefs package
or let me try be more precise :-)
xyx.weblogic.ant.taskdefs package or something along those lines.
I mean the task name,implementation class mapping is maintained in a properties file. It might be called default.properties (just a guess).
Try lookingup weblogic javadocs as well. You might find the implementation class under weblogic taskdef package.
chuck Parikh
Greenhorn

Joined: Apr 08, 2004
Posts: 1
Did you find the solution for your problem. I was facing the same probelm and I add following line in my build.xml.
<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask" classpathref="project.class.path" />
It works if I have the weblocig lib directory in my classpath. But I want to compile webservice on unix machine and it doesn't have weblogic installed and it throws me exception saying couldn't find 'package weblogic.xml.schema.binding' but I checked and that package is available in webservice.jar.
Have any input ?
Thanks,
Chirag
Srini P
Greenhorn

Joined: Apr 09, 2004
Posts: 1
Make sure that webservices.jar is in your classpath. It can be found at $WEBLOGIC_HOME/server/lib directory along with weblogic.jar
[ April 09, 2004: Message edited by: Srini P ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: problem in web services