自 J2EE 1.3 规范开始,应用程序组件(应用程序客户机、Web 模块、EJB 模块)可以通过使用“逻辑”名称(称为 Web service 引用)来定义对外部 Web service 的引用。在 J2EE 1.3 中,引用被添加到模块中的 webservicesclient.xml。自 J2EE 1.4 开始,引用包括在部署描述符中。
在部署时,Web service 引用被绑定至目标运营环境中的 Web service 接口。
对于定义的每个 Web service 引用,都会有一个 service-ref 元素添加到该应用程序组件。Web service 引用的作用域为在其中定义这些引用的应用程序组件或企业 bean,因此在运行时,其他应用程序组件或 bean 不能访问这些引用。其他组件可以使用相同的名称定义 Web service 引用,而不会引起名称冲突。
注: 对于早于 J2EE 1.4 规范级别的项目级别,工作台允许定义 Web service 引用,但 service-ref 元素不会添加到部署描述符(application-client.xml、web.xml 或 ejb-jar.xml)。而会在模块的 WEB-INF 文件夹中的 webservicesclient.xml 文件内声明 Web service 引用。例如,如果将 Web service 引用添加到 J2EE 1.3 应用程序客户机,则引用会添加到 webservicesclient.xml。如果将 Web service 引用添加到 J2EE 1.4 应用程序客户机,则引用会添加到 application-client.xml。
提示: EJB 规范建议在 bean 环境的服务子上下文(java:comp/env/service JNDI 上下文)中组织所有 Web service 引用。
要定义 Web service 引用,请执行以下操作: