使用 ejb 提供程序
ejb 提供程序允许 wsif 客户机调用企业 bean。ejb 客户机 jar 在客户机运行时中必须与当前的提供程序一起提供。企业 bean 是使用正常 ejb 调用方法、rmi-iiop 和当前安全性与事务上下文调用的。如果在某个事务内调用 ejb 提供程序,则该事务将传递至正在进行的服务,并且将应用标准 ejb 事务属性。
如果存在多个服务实现,则由服务的提供程序确保它们提供了相同的语义。例如,如果存在事务性,则 bean 部署者应指定 tx_requires_new 以强制执行新的事务。
ejb 提供程序 ― 编写 wsdl 扩展
ejb 提供程序允许通过 rmi/iiop 调用企业 bean。为了使用 ejb 提供程序,您需要在 wsdl 中指定此绑定:
<!-- ejb binding --> <binding .... > <ejb:binding /> <format:typemapping style="java" encoding="java"/>? <format:typemap name="qname" formattype="nmtoken"/>* </format:typemapping> <operation>* <ejb:operation methodname="nmtoken" parameterorder="nmtoken" returnpart="nmtoken"? interface="remote|home" /> <input name="nmtoken"? />? <output name="nmtoken"? />? <fault name="nmtoken"? />? </operation> </binding>
其中 ? 表示可选的,而 * 表示 0 或更多。
注意:
- format:typemap name 属性是其中一个 ejb 操作使用的简单类型或复杂类型的限定名称。
- format:typemap formattype 属性是 java 类的全限定类名,此 java 类是由名称指定的元素所映射的。
- ejb:operation methodname 属性是操作对企业 bean 调用的方法的名称。
- ejb:operation parameterorder 属性包含空格分隔的部件名列表,它定义了将名称传递至 ejb 方法的顺序。
- ejb:operation interface 属性必须设置为“remote”或“home”。该值指定企业 bean 的接口,在此接口上可以访问由 method 属性命名的方法。
<service ... > <port>* <ejb:address class="nmtoken" jndiname="nmtoken" initialcontextfactory="nmtoken" ? jndiproviderurl="nmtoken" ? /> </port> </service>
注意:
- ejb:address class 属性指定企业 bean 的全限定类名主接口类。
- ejb:address jndiname 属性指定用于查找企业 bean 的完整 jndi 名称。
- ejb:address initialcontextfactory 属性是可选的,它指定初始上下文生成器类。
- ejb:address jndiproviderurl 属性是可选的,它指定 jndi 提供程序 url。
闽公网安备 35060202000074号