i don't have a ejb container so i tried to strip down the class and did not see any
problem. see
the java and build.xml enclosed.
-- dims
--- Rob Jellinghaus <[EMAIL PROTECTED]> wrote:
> 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,
>
=== message truncated ===
=====
Davanum Srinivas - http://webservices.apache.org/~dims//*
* Generated by XDoclet - Do not edit!
*/
package com.nimblefish.sdk.ejb.sessioninterfaces;
/**
* Remote interface for ClientCampaignService.
*/
public interface ClientCampaignService
{
/**
* List clients.
*/
public java.util.List listClients( )
throws java.rmi.RemoteException;
}<project>
<path id="axis.classpath">
<fileset dir="C:/apache/ws-axis/java/lib">
<include name="**/*.jar"/>
</fileset>
<fileset dir="C:/apache/ws-axis/java/build/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<target name="java2wsdl" description="Generate WSDL files from our beans.">
<taskdef resource="axis-tasks.properties" classpathref="axis.classpath"/>
<axis-java2wsdl
classname="com.nimblefish.sdk.ejb.sessioninterfaces.ClientCampaignService"
location="http://localhost:8080/axis/services/ClientCampaignService"
output="./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>
<path refid="axis.classpath"/>
<pathelement path="C:/apache/ws-axis/java/build/classes"/>
</classpath>
</axis-java2wsdl>
</target>
</project>