Did so. Same error. Here's the ant target:
<target name="java2wsdl" depends="compile" description="Generate
WSDL files from our beans.">
<java2wsdl
classname="com.nimblefish.sdk.ejb.sessioninterfaces.ClientCampaignServic
e"
location="http://localhost:8080/axis/services/ClientCampaignService"
output="${gencode.wsdl.dir}/clientcampaignservice.wsdl "
namespace="com.nimblefish.sdk.soap"
style="rpc"
useinheritedmethods="false"
stopclasses="javax.ejb.EJBObject">
<mapping namespace="com.nimblefish.sdk.soap"
package="com.nimblefish.sdk.soap"/>
<classpath>
<pathelement path="${classes.dir}"/>
<path refid="base.classpath"/>
</classpath>
</java2wsdl>
</target>
And here's the error:
[java2wsdl] Java2WSDL
com.nimblefish.sdk.ejb.sessioninterfaces.ClientCampaignService
[java2wsdl] WSDLException: faultCode=OTHER_ERROR: Can't find prefix for
'http://util.java'. Namespace prefixes must be set on the Definition
object using the addNamespace(...) method.:
Looks to me like it's barfing on the "java.util.List" return type of the
"listClients" session bean interface method. The real questions are:
1) WHY?
2) Why doesn�t the Wiki or the documentation for java2wsdl explain *what
it means* to get this error from java2wsdl? (And/or, why doesn't this
error get caught by java2wsdl and given a better diagnostic message?)
There's no way to know *what to do in your Java code* (or even in your
java2wsdl target) to fix this error, given the wording of the error
itself.
Cheers!
Rob
-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
Sent: Thursday, April 15, 2004 2:28 PM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: WSDL generation problem
can you please try using the stopClasses option to skip the
javax.ejb.EJBObject class?
-- dims
--- Rob Jellinghaus <[EMAIL PROTECTED]> wrote:
> I just got this problem with the latest CVS (20040414). I will file a
> bug report if I can make the time to do so (I have moved on from using
> Axis, given the problems I encountered getting Axis's own ejb sample
to
> work (I filed a JIRA on this yesterday)).
>
> Here's the interface I was trying to run through java2wsdl:
>
> /*
> * Generated by XDoclet - Do not edit!
> */
> package com.nimblefish.sdk.ejb.sessioninterfaces;
>
> /**
> * Remote interface for ClientCampaignService.
> */
> public interface ClientCampaignService
> extends javax.ejb.EJBObject
> {
> /**
> * FOR TESTING ONLY, DUH!!! Drop and create all database tables!
> */
> public void createDatabase( )
> throws java.rmi.RemoteException;
>
> /**
> * FOR TESTING ONLY, DUH!!! Drop all database tables!
> */
> public void dropDatabase( )
> throws java.rmi.RemoteException;
>
> public com.nimblefish.core.domain.campaign.Client createClient(
> java.lang.String clientName )
> throws
> com.nimblefish.core.exception.NFEntityAlreadyExistsException,
> java.rmi.RemoteException;
>
> /**
> * Find the given client.
> * @throws NFNoSuchEntityException if no such client exists */
> public com.nimblefish.core.domain.campaign.Client findClient(
> java.lang.String name )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Find the given client.
> * @throws NFNoSuchEntityException if no such client exists */
> public com.nimblefish.core.domain.campaign.Client findClient(
> java.lang.Long id )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Find the given campaign.
> * @throws NFNoSuchEntityException if no such client or campaign
> exists */
> public com.nimblefish.core.domain.campaign.Campaign findCampaign(
> java.lang.Long clientId,java.lang.String name )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Find the given campaign.
> * @throws NFNoSuchEntityException if no such campaign exists */
> public com.nimblefish.core.domain.campaign.Campaign findCampaign(
> java.lang.Long campaignId )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * List clients.
> */
> public java.util.List listClients( )
> throws java.rmi.RemoteException;
>
> /**
> * Delete the given client.
> * @param clientId
> * @throws NFNoSuchEntityException if no such client */
> public void deleteClient( java.lang.Long clientId )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Create the given campaign.
> * @param clientId
> * @throws NFEntityAlreadyExistsException if already a campaign for
> that client with that name
> * @throws NFNoSuchEntityException if no such client */
> public com.nimblefish.core.domain.campaign.Campaign createCampaign(
> java.lang.Long clientId,java.lang.String campaignName )
> throws
> com.nimblefish.core.exception.NFEntityAlreadyExistsException,
> com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Get all campaigns for this client.
> * @param clientId
> * @throws NFNoSuchEntityException if no such client */
> public java.util.Set getCampaigns( java.lang.Long clientId )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Delete the given campaign.
> * @throws NFNoSuchEntityException if no such campaign */
> public void deleteCampaign( java.lang.Long campaignId )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> /**
> * Update the Campaign object. Call this whenever you have modified
a
> campaign object (via any of the campaign.set*() methods).
> * @param campaign
> * @throws NFNoSuchEntityException if no campaign with that ID
exists
> */
> public void updateCampaign(
> com.nimblefish.core.domain.campaign.Campaign campaign )
> throws com.nimblefish.core.exception.NFNoSuchEntityException,
> java.rmi.RemoteException;
>
> }
>
> Cheers,
> Rob
>
> -----Original Message-----
> From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 15, 2004 2:24 PM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: RE: WSDL generation problem
>
> Rob, Jagannath,
>
> you should not get this problem in Axis 1.2 Beta. If you do, then
please
> open a bug report.
>
> thanks,
> dims
>
> --- Rob Jellinghaus <[EMAIL PROTECTED]> wrote:
> > If ever a problem deserved to be a FAQ on the Wiki, this is it. I
had
> > exactly the same problem only with "http://util.java" instead of
> > "http://management.javax". Overall the java2wsdl documentation MUST
> > describe what to do when this problem is hit....
> >
> > Cheers,
> > Rob
> >
> > -----Original Message-----
> > From: jagannath [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, April 15, 2004 7:20 AM
> > To: [EMAIL PROTECTED]
> > Subject: WSDL generation problem
> >
> > Hi,
> >
> > I am unable to generate the wsdl for my web service using the
> > AxisServlet. The below exception gets thrown. Am I missing something
> > during the configuration of the web service?
> >
> > I am using Axis 1.1
> >
> > Please help.
> >
> > [INFO] enterprise - -Mapping Exception to AxisFault <WSDLException:
> > faultCode=OTHER_ERROR: Can't find prefix for
> 'http://management.javax'.
> > Namespace prefixes must be set on the Definition object using the
> > addNamespace(...) method.: >WSDLException: faultCode=OTHER_ERROR:
> Can't
> > find prefix for 'http://management.javax'. Namespace prefixes must
be
> > set on the Definition object using the addNamespace(...) method.:
> > at com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown Source)
> > at com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown
> > Source)
> > at
> > com.ibm.wsdl.util.xml.DOMUtils.printQualifiedAttribute(Unknown
Source)
> > at com.ibm.wsdl.xml.WSDLWriterImpl.printParts(Unknown
Source)
> > at com.ibm.wsdl.xml.WSDLWriterImpl.printMessages(Unknown
> Source)
> > at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown
> > Source)
> > at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
> > at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown
Source)
> > at
> org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:267)
> > at
> >
>
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider.ja
> > va:494)
> > at
> >
>
org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:72
> > )
> > at
> org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
> > at
> > org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:137)
> > at
>
=== message truncated ===
=====
Davanum Srinivas - http://webservices.apache.org/~dims/