9.13. EJB3 ステートレスセッション Bean (SLSB)
JAX-WS プログラミングモデルはPlain old Java Object (POJO) のエンドポイント上と同じアノテーションセットを EJB3 ステートレスセッション bean でもサポートします。EJB-2.1 エンドポイントには JAX-RPC プログラミングモデルを使い対応しています。
@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)
{
...
}
}
上記には、 リモートインターフェース上とエンドポイント操作上の両方で 1 つのメソッドを公開する EJB-3.0 ステートレスセッション bean があります。
エンドポイントのパッケージ化
JSR-181 EJB サービスのエンドポイントは通常の ejb デプロイメントとしてパッケージ化されます。
<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>生成された WSDL にアクセス
正しくデプロイされたサービスエンドポイントはサービスエンドポイントマネージャーに表示されます。 サービスエンドポイントマネージャーには生成された WSDL へのリンクもあります。
http://yourhost:8080/jbossws/services
また、JBossWS ツールを使用してオフラインで抽象コントラクトを生成することも可能です。 詳細については Top Down (wsconsumeを利用) を参照してください。