Thanks, again to Dennis Geurts for getting me most of the way there. I'm much closer now. I'm generating stuff. The problem is that my EJBs use Springs EJB support classes, so instead of implementing javax.ejb.SessionBean they extend org.springframework.ejb.support.AbstractStatelessSessionBean. AbstractStatelessSessionBean implements javax.ejb.SessionBean, but I implement javax.ejb.SessionBean again because that was the only way to get XDoclet to work with it when I was working with ANT. When I adapted Dennis' example, the sources files that were generated extended fictitious classes like, in the case of the remote interface, org.springframework.ejb.support.AbstractStatelessSessionRemote when it should have been javax.ejb.EJBObject. It did that for all of the interfaces that it generated.
The class with the xdoclet tags looks like this: /** * XDoclet-based session bean. The class must be declared public according to * the EJB specification. To generate the EJB related files to this EJB: - Add * Standard EJB module to XDoclet project properties - Customize XDoclet * configuration for your appserver - Run XDoclet Below are the xdoclet-related * tags needed for this EJB. * * @ejb.bean name="ReportingService" display-name="DFS Reporting Service" * description="Session facade for the jBPM workflow engine" * jndi-name="ejb/ReportingService" type="Stateless" view-type="both" * local-business-interface="com.acs.nc.dfs.common.report.ReportingService" * @ejb.env-entry name="ejb/BeanFactoryPath" type="java.lang.String" * value="applicationContext.xml" * @author kballard */ public class ReportingServiceEJB extends AbstractStatelessSessionBean implements ReportingService, SessionBean { ... } And the one I used to be able to generate with XDoclet looks like this: /* * Generated by XDoclet - Do not edit! */ package com.acs.nc.dfs.common.report.ejb; /** * Remote interface for ReportingService. * @xdoclet-generated at ${TODAY} * @copyright The XDoclet Team * @author XDoclet * @version ${version} */ public interface ReportingServiceRemote extends javax.ejb.EJBObject { ... } It seems to be substituting the word "Bean" in AbstractStatelessSessionBean with "Remote," "Local," etc. respectively. Any ideas about how I can correct this? Thanks, Ken CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.