此规则根据以下条件检测 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 目标运行之后,产生的工件会位于生成文件夹中。接着,用户可检查所生成代码以及部署描述符,然后将这些工件添加至其模块。