JBoss.org Community Documentation

5.18. EJB3 Stateless Session Bean (SLSB)

The JAX-WS programming model support the same set of annotations on EJB3 stateless session beans as on # Plain old Java Object (POJO) endpoints. EJB-2.1 endpoints are supported using the JAX-RPC progamming model.

  @Stateless
  @Remote(EJB3RemoteInterface.class)
  @RemoteBinding(jndiBinding = "/ejb3/EJB3EndpointInterface")
	  
  @WebService
  @SOAPBinding(style = SOAPBinding.Style.RPC)
  public class EJB3Bean01 implements EJB3RemoteInterface
  {
  @WebMethod
  public String echo(String input)
  {
  ...
  }
  } 

Above you see an EJB-3.0 stateless session bean that exposes one method both on the remote interface and on and as an endpoint operation.

Packaging the endpoint

A JSR-181 EJB service endpoint is packaged as an ordinary ejb deployment.

<jar jarfile="${build.dir}/libs/jbossws-samples-jsr181ejb.jar">
<fileset dir="${build.dir}/classes">
<include name="org/jboss/test/ws/samples/jsr181ejb/EJB3Bean01.class"/>
<include name="org/jboss/test/ws/samples/jsr181ejb/EJB3RemoteInterface.class"/>
</fileset>
</jar> 

Accessing the generated WSDL

A successfully deployed service endpoint will show up in the service endpoint manager. This is also where you find the links to the generated wsdl.

 
  http://yourhost:8080/jbossws/services 

Note, it is also possible to generate the abstract contract off line using jbossw tools. For details of that please see #Top Down (Java to WSDL)