Whoops, sorry about posting Classpath-related exceptions. After going through the Ant manual, I rewrote my build.xml so now it looks like:
<project>
<path id="axisjars"\>
<path id="xercesjar"\>
<path id="project.classpath">
<pathelement location="."/>
<path refid="axisjars"/>
<path refid="xercesjar"/>
</path>
<taskdef classpathref="axisjars" resource="axis-tasks.properties"/>
<target depends="init" description="Generate WSDL from classes." name="java2wsdl">
<echo message="Building wsdl for ${my_service} at ${my_url}"/>
<axis-java2wsdl extraclasses="" classname="${my_service}" location="${my_url}">
<classpath refid="project.classpath"/>
</axis-java2wsdl>
</target>
</project>
But now I get 2 totally different kinds of exception, depending on whether I run from commandline or from NetBeans.
If I run "ant java2wsdl" from commandline, I get the following error:
[axis-java2wsdl] Using CLASSPATH C:\java\projects\webservices;C:\java\apache\axis-1_1beta\lib\axis-ant.jar;C:\java\apache\axis-1_1beta\lib\axis.jar;C:\java\apac
he\axis-1_1beta\lib\commons-discovery.jar;C:\java\apache\axis-1_1beta\lib\commons-logging.jar;C:\java\apache\axis-1_1beta\lib\jaxrpc.jar;C:\java\apache\axis-1_1
beta\lib\log4j-1.2.4.jar;C:\java\apache\axis-1_1beta\lib\saaj.jar;C:\java\apache\axis-1_1beta\lib\wsdl4j.jar;C:\java\apache\xerces-1_4_4\xerces.jar
[axis-java2wsdl] [Fatal Error] :2:51: The value of the attribute "prefix="xmlns" ,localpart="impl",rawname="xmlns:impl"" is invalid. Prefixed namespace bindings
may not be empty. [axis-java2wsdl] WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.: The value of the attribute "prefix="xmlns",localpart="impl",rawname="xmlns:impl"" is invalid. Prefixed namespace bindings may not be empty.: org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="impl",rawname="xmlns:impl"" is invalid. Prefixed namespace bindings may not be empty.
[axis-java2wsdl] at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
[axis-java2wsdl] at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
[axis-java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
[axis-java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
[axis-java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:269)
[axis-java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:338)
[axis-java2wsdl] at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
[axis-java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[axis-java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[axis-java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[axis-java2wsdl] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[axis-java2wsdl] at org.apache.tools.ant.Main.start(Main.java:196)
[axis-java2wsdl] at org.apache.tools.ant.Main.main(Main.java:235)
[axis-java2wsdl]
[axis-java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
[axis-java2wsdl] at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
[axis-java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:269)
[axis-java2wsdl] at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:338)
[axis-java2wsdl] at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
[axis-java2wsdl] at org.apache.tools.ant.Task.perform(Task.java:319)
[axis-java2wsdl] at org.apache.tools.ant.Target.execute(Target.java:309)
[axis-java2wsdl] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[axis-java2wsdl] at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[axis-java2wsdl] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[axis-java2wsdl] at org.apache.tools.ant.Main.start(Main.java:196)
[axis-java2wsdl] at org.apache.tools.ant.Main.main(Main.java:235)
BUILD FAILED
If I run ant java2wsdl task from NetBeans 3.4, I get:
Using CLASSPATH C:\java\projects\webservices;C:\java\apache\axis-1_1beta\lib\axis-ant.jar;C:\java\apache\axis-1_1beta\lib\axis.jar;C:\java\apache\axis-1_1beta\lib\commons-discovery.jar;C:\java\apache\axis-1_1beta\lib\commons-logging.jar;C:\java\apache\axis-1_1beta\lib\jaxrpc.jar;C:\java\apache\axis-1_1beta\lib\log4j-1.2.4.jar;C:\java\apache\axis-1_1beta\lib\saaj.jar;C:\java\apache\axis-1_1beta\lib\wsdl4j.jar;C:\java\apache\xerces-1_4_4\xerces.jar
Running Java2WsdlAntTask with parameters:
namespace:
PkgtoNS:{}
location:http://localhost:8080/axis/services/advertiser
output:.
importSchema:null
input:null
className:com.overture.service.Advertiser
servicePortName:null
portTypeName:null
bindingName:null
implClass:null
inheritance:false
excluded:null
stopClasses:null
typeMappingVersion:1.1
style:null
outputImpl:null
use:null
namespaceImpl:null
locationImport:null
serviceElementName:null
methods:null
extraClasses:
Java2WSDL com.overture.service.Advertiser
java.io.FileNotFoundException: . (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:176)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.axis.wsdl.fromJava.Emitter.prettyDocumentToFile(Emitter.java:1330)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:356)
at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
at org.apache.tools.ant.Task.perform(Task.java:319)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:294)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:119)
file:C:/java/projects/webservices/build.xml:77: Error while running org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask
at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:264)
at org.apache.tools.ant.Task.perform(Task.java:319)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:294)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:119)
Caused by: java.io.FileNotFoundException: . (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:176)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.axis.wsdl.fromJava.Emitter.prettyDocumentToFile(Emitter.java:1330)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:356)
at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
... 7 more
--- Nested Exception ---
java.io.FileNotFoundException: . (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:176)
at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
at org.apache.axis.wsdl.fromJava.Emitter.prettyDocumentToFile(Emitter.java:1330)
at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:356)
at org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.java:249)
at org.apache.tools.ant.Task.perform(Task.java:319)
at org.apache.tools.ant.Target.execute(Target.java:309)
at org.apache.tools.ant.Target.performTasks(Target.java:336)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:294)
at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:119)
BUILD FAILED
Any ideas?
Gene
Steve Loughran <[EMAIL PROTECTED]> wrote:
----- Original Message -----
From: "Gene Chuang" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, December 29, 2002 21:19
Subject: Re: axis ant task in netbeans
>
>
> Thanks for the pointers guys. I'm ALMOST there! I added the classpathref
to taskdef, but then ANT complained of not finding my service class. So I
addedto the task:
>
>
>
> But now I get a NullPointer
> java.lang.NullPointerException
> at java.util.StringTokenizer.(StringTokenizer.java:119)
> at java.util.StringTokenizer.(StringTokenizer.java:135)
> at
org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.jav
a:177)
> I examined Java2WsdlAntTask.java (cvs ver 1.14) and noticed the NPE is
occuring because execute() is trying to StrTok the value of 'extraClasses',
an attribute I did not set (do I need to?)
looks like a bug. will fix in CVS.
>So to circumvent the NPE, I added extraClasses="" attribute, but now I get
this:
> Java2WSDL com.overture.service.Advertiser
> java.lang.NoClassDefFoundError: javax/xml/namespace/QName
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:1627)
> at java.lang.Class.privateGetPublicMethods(Class.java:1655)
> at java.lang.Class.getMethod0(Class.java:1744)
That means that something isnt in the classpath for the task declaration,
specifically whatever contains the missing class... jaxrpc.jar would be a
guess.