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.