using WSEE doclet
dhartford Jul 7, 2005 8:20 AMFinally, some success!
Pure WSEE doclet webservice without WSCompile. It uses RPC/Literal, but hopefully more support can be added for the other types.
The one missing piece was ejb-jar.xml gets generated but is missing this under < session > and needs to be added manually with xdoclet-1.2.3 [for this example]:
<service-endpoint>com.mycomp.session.interfaces.DataViewEndpoint</service-endpoint>
Bean: /** This Session Bean is used for Session. * @ejb:bean name="com.mycomp.session.ejb.DataView" * type="Stateless" * transaction-type="Container" * display-name="DataView" * jndi-name="com.mycomp.session.interfaces.DataViewHome" * local-jndi-name="com.mycomp.session.interfaces.DataViewLocalHome" * view-type="all" * * @ejb-transaction="Supports" * @ejb:util * generate="physical" * * * @ejb.interface * service-endpoint-class="com.mycomp.session.interfaces.DataViewEndpoint" * * @wsee.port-component * name="DataViewEndpoint" * service-endpoint-interace="com.mycomp.session.interfaces.DataViewEndpoint" * service-endpoint-bean="com.mycomp.session.ejb.DataView" * * @wsee.jaxrpc-mapping * root-type-qname="DataViewEndpoint" */
maven.xml (easy to change to build.xml for ant):
<goal name="xdoclet:ejb">
<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask">
<classpath>
<path refid="maven.dependency.classpath"/>
</classpath>
</taskdef>
<taskdef name="wseedoclet" classname="xdoclet.modules.wsee.WseeDocletTask">
<classpath>
<path refid="maven.dependency.classpath"/>
</classpath>
</taskdef>
<ejbdoclet
destdir="${basedir}/generated/java"
excludedtags="@version,@author,@todo"
ejbspec="2.0"
verbose="true"
mergedir="${basedir}/src/mergedir" >
<fileset dir="src/java">
<include name="**/*Bean.java" />
</fileset>
<packageSubstitution packages="ejb" substituteWith="interfaces"/>
<!--add entitypk only for generating compound pk-->
<entitypk/>
<homeinterface/>
<localhomeinterface/>
<remoteinterface/>
<localinterface/>
<utilobject cacheHomes="true" kind="both"/>
<entitycmp/>
<service-endpoint/>
<valueobject/>
<session/>
<deploymentdescriptor
destdir="${basedir}/target/classes/META-INF"
mergedir="${basedir}/src/mergedir"
validatexml="false"
/>
<jboss
version="4.0"
unauthenticatedPrincipal="nobody"
xmlencoding="UTF-8"
destdir="${basedir}/target/classes/META-INF"
mergedir="${basedir}/src/mergedir"
validatexml="false"
/>
</ejbdoclet>
<wseedoclet destDir="${basedir}/target/classes/META-INF"
jaxrpcMappingFile="jaxrpc-mapping.xml"
wseeSpec="1.1"
verbose="true"
force="true" >
<fileset dir="src/java">
<include name="**/*Bean.java" />
</fileset>
<jaxrpc-mapping/>
<wsdl/>
<deploymentdescriptor/>
</wseedoclet>
</goal>
Jboss still prefers WSCOMPILE, just sharing my experience with anyone else who may be interested.