Perhaps we need a temporary Ant task to do this until the Java2WSDL task is updated to support EJBs. The EJB provider seems to have gotten pretty short shrift. I mean no docs and no support in Java2WSDL ?
--- Alan Buxton <[EMAIL PROTECTED]> wrote: > Hi Naresh > > Here's a sample of a basic deploy.wsdd. They can get > rather more complex, > but this is as good a starting point as any. In it > I'm exposing all methods > of a local stateless session bean. You'll probably > want to narrow that down > a bit :) Note that, even though it's a local bean, > you still have to specify > homeInterfaceName and remoteInterfaceName as if it > were a remote bean. > > Good luck. > > But I see your point about using the Ant task. It > would be a bit easier if > you could automate the deployment with Ant. I'm > afraid that I don't know the > answer to that one. If you find out, maybe you could > let me know :) > > > <deployment xmlns="http://xml.apache.org/axis/wsdd/" > > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > <service name="LocalBean" provider="java:EJB"> > <parameter name="beanJndiName" > value="local/LocalBeanEJB"/> > <parameter name="homeInterfaceName" > value="big.bux.LocalBeanHome"/> > <parameter name="remoteInterfaceName" > value="big.bux.LocalBean"/> > <parameter name="allowedMethods" value="*"/> > </service> > </deployment> > > > > on 28/1/03 12:05 PM, Naresh Bhatia at > [EMAIL PROTECTED] wrote: > > Hi Alan, > > I would like to expose an EJB as a Web Service - I > assume that Axis can to > do this because it supplies an EJB provider. > Java2Wsdl creates a WSDL > automatically for Java classes that implement > java.rmi.Remote but seems to > choke if they implement javax.ejb.EJBObject (which > extends java.rmi.Remote). > That's the problem. > > Naresh > -----Original Message----- > From: Alan Buxton [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, January 28, 2003 5:01 AM > To: [EMAIL PROTECTED] > Subject: Re: Does Java2Wsdl support EJBs? > > Sorry if this is a dumb question, but why do you > need Java2Wsdl? > > on 26/1/03 11:42 AM, Naresh Bhatia at > [EMAIL PROTECTED] wrote: > > > Does Java2Wsdl support WSDL generation from EJBs? I > tried it but I am > getting the following exception: > > WSDLException: faultCode=OTHER_ERROR: Can't find > prefix for > 'http://ejb.javax'. > Namespace prefixes must be set on the > Definition object using the > addNamespace(...) method.: > > My ant build script is as follows (compile.path > includes J2EE jars, thus the > javax.ejb package): > > <taskdef name="java2wsdl" > classname="org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask"> > <classpath> > <path refid="axis.path"/> > </classpath> > </taskdef> > > <target name="build-web-service"> > <java2wsdl > classname="MyEjb" > implclass="MyEjbBean" > namespace="http://MyEjb" > > location="http://camnbhati:7001/soap/services/MyService" > extraClasses="" > output="${build.dir}/MyService.wsdl"> > <classpath> > <path refid="compile.path"/> > <pathelement location="${build.dir}"/> > </classpath> > </java2wsdl> > </target> > > Here's are the exception details from java2WSD: > > [java2wsdl] Java2WSDL MyEjb > [java2wsdl] WSDLException: faultCode=OTHER_ERROR: > Can't find prefix for > 'http://ejb.javax'. > Namespace prefixes must be set on the > Definition object using the > addNamespace(...) method.: > [java2wsdl] at > com.ibm.wsdl.util.xml.DOMUtils.getPrefix(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.util.xml.DOMUtils.getQualifiedValue(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.util.xml.DOMUtils.printQualifiedAttribute(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.xml.WSDLWriterImpl.printParts(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.xml.WSDLWriterImpl.printMessages(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown > Source) > [java2wsdl] at > com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown > Source) > [java2wsdl] at > org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:269) > [java2wsdl] at > org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:338) > [java2wsdl] at > org.apache.axis.tools.ant.wsdl.Java2WsdlAntTask.execute(Java2WsdlAntTask.jav > a:249) > [java2wsdl] at > org.apache.tools.ant.Task.perform(Task.java:319) > [java2wsdl] at > org.apache.tools.ant.Target.execute(Target.java:309) > [java2wsdl] at > org.apache.tools.ant.Target.performTasks(Target.java:336) > [java2wsdl] at > org.apache.tools.ant.Project.executeTarget(Project.java:1306) > [java2wsdl] at > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371) > [java2wsdl] at > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143) > [java2wsdl] at > org.apache.tools.ant.Task.perform(Task.java:319) > [java2wsdl] at > org.apache.tools.ant.Target.execute(Target.java:309) > [java2wsdl] at > org.apache.tools.ant.Target.performTasks(Target.java:336) > [java2wsdl] at > org.apache.tools.ant.Project.executeTarget(Project.java:1306) > [java2wsdl] at > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371) > [java2wsdl] at > org.apache.tools.ant.Task.perform(Task.java:319) > [java2wsdl] at > org.apache.tools.ant.Target.execute(Target.java:309) > [java2wsdl] at > org.apache.tools.ant.Target.performTasks(Target.java:336) > [java2wsdl] at > org.apache.tools.ant.Project.executeTarget(Project.java:1306) > [java2wsdl] at > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371) > [java2wsdl] at > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143) > [java2wsdl] at > net.sf.antcontrib.logic.ForEach.execute(Unknown > Source) > [java2wsdl] at > org.apache.tools.ant.Task.perform(Task.java:319) > [java2wsdl] at > org.apache.tools.ant.Target.execute(Target.java:309) > [java2wsdl] at > org.apache.tools.ant.Target.performTasks(Target.java:336) > [java2wsdl] at > org.apache.tools.ant.Project.executeTarget(Project.java:1306) > [java2wsdl] at > org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:371) > [java2wsdl] at > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:143) > [java2wsdl] at > org.apache.tools.ant.Task.perform(Task.java:319) > [java2wsdl] at > org.apache.tools.ant.Target.execute(Target.java:309) > [java2wsdl] at > org.apache.tools.ant.Target.performTasks(Target.java:336) > === message truncated === ===== Nicholas Whitehead Home: (973) 377 9335 Cell: (201) 615 2716 Work: (212) 622 5639 [EMAIL PROTECTED]