此规则根据以下条件检测 JAX-RPC Web Service 是否存在:
- 文件 web-services.xml 的存在
- 同一文件夹中文件 weblogic-webservices.xml
和文件 webservices.xml 的存在
快速修订
在源扫描程序中,此规则生成具有特定 IBM(R) Ant 任务的 Ant 脚本。 那些任务生成基于
WebLogic J2EE Web Service 部署描述符的 JAX-RPC Web Service。 如果项目的根文件夹中不存在 IBM Ant 生成的文件,那么快速修订会扫描 Web Service 部署描述符并生成 Ant 脚本。 该脚本包含用于生成
JAX-RPC Web Service 的 IBM Ant 任务。
规则属性
必须为规则属性提供正确的值。 要更改此规则的属性值,请在“软件分析器配置”窗口中选择该规则。 然后,使用“属性”选项卡中出现的字段。 此规则的这些属性如下:
- 所生成 Ant 脚本的名称:
指定要生成的新 Ant 脚本的名称。该脚本名称必须是有效文件名。该值不能包含任何正斜杠或反斜杠。 所生成脚本将位于项目的根文件夹中。
缺省值:build-ibm-ws.xml
- 生成文件夹名称:
指定生成工件将位于其中的文件夹的名称。该值不能包含任何正斜杠或反斜杠。 生成文件夹将位于项目的根文件夹中。
缺省值:ibm-ws-gen
Ant 类路径
ant 类路径是从 Eclipse 项目计算的。
验证对于编译必需的所有元素是否都在
Eclipse 类路径上很重要。
web-services.xml 文件中定义的 JAX-RPC 服务
根据 web-services.xml 中定义的信息以及服务类型,会生成
Ant 脚本及用来表示 Web Service 端点接口的可能附加 Java 代码,以重新生成 JAX-RPC 服务。
- 受支持的组件
仅无状态会话企业 Bean (<stateless-ejb>) 和 Java® (<java-class>)
组件才能被识别并进行转换。
- 无状态 EJB 组件:
项目中必须存在企业 JavaBeans™ (EJB) JAR 文件(如
<ejb-link> 元素的 path 属性中所定义)。 快速修订会对
EJB JAR 文件进行扫描,并生成基于 EJB 远程类的新服务端点接口
(SEI) 类。
SEI 接口与 EJB 远程接口不同,因为该类必须扩展
java.rmi.Remote
,并且每个方法都必须抛出异常,
java.rmi.RemoteException
.
快速修订对 EJB 远程接口使用 Java 反射以生成新的 SEI。因此,Eclipse 项目类路径必须设置为具有所有必需类、JAR 文件和文件夹等,以允许快速修订正确地装入 EJB 远程类。
会在文件夹 sei 中生成该 SEI,文件夹 sei
位于由用户在规则属性中提供的生成文件夹内。SEI
包与 EJB 远程接口包匹配,并且 EJB 远程接口名称追加单词
SEI 即为 SEI 名称。此外,新 SEI
文件夹会添加至项目类路径。
- Java 类组件:
与 EJB 组件类似,快速修订会根据属性 <class-name>
中定义的 Java 类生成服务端点接口。
- 所生成 Ant 目标:
所生成 Ant 脚本包含用于生成 WSDL 文件和 JAX-RPC 服务的目标,这些目标根据快速修订期间创建的新
SEI 执行生成操作。
WSDL 生成目标将具有名称 genWSDL_ssss,其中 ssss
是 <web-service> 元素的 name 属性字段中提供的
JAX-RPC 服务的名称。
服务生成目标具有名称 genService_pppp,其中 pppp
是组件的名称,该名称来自元素 <stateless-ejb> 或
<java-class> 的 name 属性。
快速修订不使用其他元素(例如
<handlers-chain>、<types>、<operations>
和 <security> 等)中提供的信息。
webservices.xml 文件中定义的 JAXRPC 服务
根据 webservices.xml 文件中定义的信息以及服务类型,会生成 Ant 脚本以重新生成 JAX-RPC 服务。
- 所生成 Ant 目标:
所生成 Ant 脚本包含用于生成 WSDL 文件和 JAX-RPC 服务的目标。
仅当快速修订无法找到 WSDL 文件(如元素
<wsdl-file> 中所定义)时,才会生成 WSDL 生成目标。
如果 WSDL 生成目标已创建,那么它具有名称
genWSDL_ssss,其中 ssss 是服务的名称(如元素
<webservice-description-name> 中所定义)。
服务生成目标将具有名称 genService_pppp,其中 pppp
是端口的名称(如元素 <port-component-name> 所定义)。
IBM WebSphere Application Server Ant 任务
WebSphere® Application Server 包含用于为 JAX-RPC 服务生成必要工件的 Ant 任务(例如 java2wsdl 和 wsdl2java)。 所生成
Ant 脚本使用这些任务来构建服务。
有关这些任务的其他信息可从
WebSphere Application Server 文档获取。
运行 Ant 脚本
在快速修订生成 Ant 脚本之后,请查看该脚本,并在必要时添加其他定制。
请参阅 Application Server 文档,以了解 IBM Ant 任务的其他定制。
必须使用 WebSphere Application Server 随附
的 Ant 工具来运行该脚本。 可以从以下位置运行 IBM Ant 脚本
:
- Windows® 操作系统上的 WAS_HOME\bin\ws_ant.bat
- UNIX® 操作系统上的 WAS_HOME\bin\ws_ant.sh
例如:c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
在 Ant 目标运行之后,产生的工件会位于生成文件夹中。接着,用户可检查所生成代码以及部署描述符,然后将这些工件添加至其模块。