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
added to 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.

Reply via email to