This week's book giveaway is in the Agile and Other Processes forum.
We're giving away four copies of Darcy DeClute's Scrum Master Certification Guide: The Definitive Resource for Passing the CSM and PSM Exams and have Darcy DeClute on-line!
See this thread for details.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Jeanne Boyarsky
  • Tim Cooke
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown
Bartenders:

problem in web services

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 1209
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 1209
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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 ]
 
Uh oh, we're definitely being carded. Here, show him this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic