Web Service 工具 - 发行说明


1.0 局限性
   1.1 在现有专用 UDDI 注册中心之上部署 WebSphere V6 DB2 专用 UDDI 注册中心之后,无法访问 WebSphere V6 DB2 专用 UDDI 注册中心
   1.2 WS-I Attachment Profile 1.0 验证不可用
   1.3 向导总是使用现有项目的 EAR 并忽略选择的其它 EAR
   1.4 向导的“监视器”复选框与现有监视器冲突
   1.5 不要选择“Web Service 用户定义的函数”客户机代理类型
   1.6 启动 Web Service 资源管理器仅在 J2EE 透视图中可用
   1.7 在创建 DADX Web Service 时,Web Service 向导中出现 IWAB0107E 错误
   1.8 选择的目标服务器不存在时,Web Service 向导中出现 IWAB0534E 错误
   1.9 未安装目标服务器时,Web Service 向导中出现 IWAB0213E
   1.10 StockQuote 轴样本仅在 Tomcat 5.0 上运行
   1.11 对带有复杂类型参数的 Web Service 生成的 WSDL 文件可能与对 J2EE 1.3 和 J2EE 1.4 应用程序生成的 WSDL 文件不同
   1.12 更改新的 EJB 项目的缺省客户机项目名称
   1.13 端到端方案在启用安全性的 Websphere Application Server V5.0 和 V5.1 上显示 restartModule 错误弹出框
   1.14 路由器项目和 EJB 项目必须在同一 EAR 中
   1.15 可通过管理控制台查看 LooseApps 但不能修改它
2.0 已知问题
   2.1 IBM SOAP 框架 Web Service 的端到端方案失败
   2.2 框架和客户机方案不能使用受 HTTP 基本认证保护的 WSDL
   2.3 运行端点启用器后 JMS 路由器项目中出现错误消息
   2.4 教程:从 Java bean 创建 Web Service 无法创建正确的包名
   2.5 删除用户定义的分类法不会从专用 UDDI 注册中心删除 tModel。
   2.6 导入样本库中的 Web Service 样本时可能发生错误
   2.7 如果 WSDL 没有任何 SOAP 绑定,客户机方案中将抛出异常
   2.8 在 Web Service 向导的后续调用期间,框架方案不会刷新生成的 Java 文件
   2.9 UDDIPublish/UDDIUnpublish -profileName <profile name> 中抛出了 NullPointerException

1.0 局限性

1.1 在现有专用 UDDI 注册中心上部署 WebSphere V6 DB2 专用 UDDI 注册中心后,无法访问 WebSphere V6 DB2 专用 UDDI 注册中心。

您可能会遇到这样的问题:在现有 WebSphere V6 专用 UDDI 注册中心上部署 WebSphere V6 DB2 专用 UDDI 注册中心后,无法访问 WebSphere V6 DB2 专用 UDDI 注册中心。完成 UDDI 部署向导之后,UDDI 应用程序将在服务器上运行,但不识别服务器配置。将出现如下症状:UDDI EAR 无法与 DB2 UDDI 注册中心交互。这表示对 UDDI 应用程序执行的所有命令将会失败并产生错误(初始化注册中心节点时出错)。这包括添加用户定义的分类法,可能会抛出轴故障。

变通方法:
1. 预防措施:在部署 WebSphere V6 DB2 UDDI 注册中心之前,使用 UDDI 向导除去先前安装的 UDDI 注册中心。然后再次调用 UDDI 向导以部署 WebSphere V6 DB2 专用 UDDI 注册中心。
2. 修正已安装的注册中心:如果在先前的注册中心上安装了 WebSphere V6 DB2 UDDI 注册中心并且遇到问题,则可从服务器管理控制台停止 UDDI 注册中心应用程序并再次启动它。

1.2 WS-I Attachment Profile 1.0 验证不可用

当“窗口”->“首选项”->“Web Service”->“WS-I 一致性”和“项目属性”中的 WS-I AP 一致性级别设置被设置为“建议”或“必需”时,这些设置在 WSDL WS-I 验证中不起作用。缺省情况下这些首选项被设置为“忽略”。

没有变通方法。WS-I 组织并未及时公开 WS-I Attachment Profile 测试断言文档并将其包括在此 IBM Rational Developer 产品发行版中,该文档被 WS-I WSDL 验证器用来测试 WSDL 与此概要文件相一致。用于启用该首选项的临时修订将在测试断言文档公开后发布。

1.3 向导总是使用现有项目的 EAR 并忽略选择的其它 EAR

如果在启动 Web Service 或 Web Service 客户机向导之前服务或客户机项目已经存在,则不管在“服务部署配置”或“客户机环境配置”页面中选择了什么内容,向导将总是使用已经包含现有项目的 EAR。如果在启动任一向导之前尚未将现有项目添加至 EAR,向导将会失败,并显示以下错误:

IWAB0213E 启动服务器时出错
详细信息:
IWAB0213E 启动服务器时出错。
org.eclipse.core.runtime.CoreException:WebSphere V5 仅支持 J2EE 1.2 和 1.3 企业应用程序。
位于 com.ibm.etools.websphere.tools.v51.internal.WASTestServerWorkingCopy.modifyModules(Unknown Source)
...

要解除此局限性,在启动向导之前,确保要用于 Web Service 或 Web Service 客户机的所有项目已添加至 EAR。此规则的唯一例外是目标为 Tomcat 服务器的项目,因为这些项目不需要添加至 EAR。

1.4 向导的“监视器”复选框与现有监视器冲突

如果手工为目标服务器创建了监视器(使用“服务器”选项卡中的“监视”->“属性...”),然后运行 Web Service 向导并在 Web Service 向导的第一页上选择“监视 Web Service”,在处理期间向导可能会失败,并显示以下错误:

IWAB0014E 发生了意外空异常。
java.lang.NullPointerException
位于 com.ibm.etools.webservice.consumption.command.common.CreateMonitorCommand.hasContentWebServices(CreateMonitorCommand.java:114)
...

要解决该问题,在禁用“监视 Web Service”的情况下重新运行该向导,或者在服务器上打开“监视”->“属性...”,除去监视器,然后在启用“监视 Web Service”的情况下重新运行该向导。

1.5 不要选择“Web Service 用户定义的函数”客户机代理类型

在 Web Service 和 Web Service 客户机向导的第一页上,有两个客户机代理类型可用:“Java 代理”(一般的缺省值)和“Web Service 用户定义的函数”。如果选择“Web Service 用户定义的函数”并尝试完成向导或进至“选择 Web Service”页之外的位置,向导将会失败,并显示错误“IWAB0234E 发生了内部错误。详细信息:空”。

变通方法:不要使用 Web Service 向导来创建 Web Service 用户定义的函数。而是选择“新建”->“其它”->“数据”->“Web Service 用户定义的函数”。

1.6 启动 Web Service 资源管理器仅在 J2EE 透视图中可用

“启动 Web Service 资源管理器”按钮和“运行”>“启动 Web Service 资源管理器”菜单项仅在 J2EE 透视图中可用。

打开 J2EE 透视图并启动 Web Service 资源管理器,或者在工作空间中右键单击 WSDL 文档或 Web Service(如果适用的话)并选择“Web Service”->“使用 Web Service 资源管理器进行测试”。

1.7 在创建 DADX Web Service 时,Web Service 向导中出现 IWAB0107E 错误

在 WebSphere Application Server V5 的 DADX 或 URL Web Service 创建方案中,允许生成 Web Service 代理的情况下,向导可能会失败,并显示类似如下的错误:

IWAB0107E 尝试分析 WSDL 输入部件时遇到错误。
WSDLException:faultCode=PARSER_ERROR:装入 http://localhost:9080/SomeProject/SomeGroup/something.dtd/XSD 时出现问题:连接被拒绝:发生连接回绕异常
java.net.ConnectException:连接被拒绝:连接
...

因为向导未及时重新启动服务器以便 Web Service 客户机代码生成器从服务器中检索 WSDL 或 XSD,所以会出现此问题。至少有两种方法可以避免该问题:

  1. 在 Web Service 向导中,选择管理 Web Service 的服务器之外的服务器来管理 Web Service 客户机。
  2. 在 Web Service 向导中,禁用代理代码生成。在 Web Service 向导完成后单独运行 Web Service 客户机向导。

1.8 选择的目标服务器不存在时,Web Service 向导中出现 IWAB0534E 错误

使用 Web Service 向导来为不存在的服务器创建 Web Service 时,向导将创建该服务器,但可能会失败,并显示以下错误:

“IWAB0534E 无法将 EAR 项目添加至服务器配置。”
详细信息:java.lang.IllegalArgumentException:
位于 java.lang.Throwable.<init>(Throwable.java:59)
位于 java.lang.Throwable.<init>(Throwable.java:73)
位于 org.eclipse.core.internal.runtime.Assert.isLegal(Throwable.java)
位于 org.eclipse.core.internal.runtime.Assert.isLegal(Throwable.java)
位于 org.eclipse.core.runtime.Status.setMessage(Throwable.java)
位于 org.eclipse.core.runtime.Status.<init>(Unknown Source)
位于 com.ibm.wtp.server.core.internal.ServerWorkingCopy.modifyModules(Unknown Source)
...

要解决该问题,重新启动向导并重试。向导将使用发生故障之前由先前向导已成功创建的服务器。

1.9 未安装目标服务器时,Web Service 向导中出现 IWAB0213E

使用 Web Service 向导在项目中创建 Web Service,而该 Web Service 的目标服务器类型并未安装时,则向导可能会失败,并显示以下消息:

IWAB0213E 启动服务器时出错。
org.eclipse.core.runtime.CoreException:名为 WebSphere V5.1 Test Environment @ localhost 的服务器未正常启动。检查控制台以获取错误消息。
位于 com.ibm.wtp.server.core.internal.Server.synchronousStart(Unknown Source)
...

因为向导的“服务器部署配置”或“客户机环境配置”页面上缺省为项目的目标服务器,而事先没有确定该目标服务器是否已安装或是否可用,所以就会发生该问题。在导入其他用户通过安装其它产品产生的项目时,最有可能出现这种情况。变通方法是在“服务器部署配置”或“客户机环境配置”页面上显式选择工作空间中已存在的服务器。

1.10 StockQuote 轴样本仅在 Tomcat 5.0 上运行

在导入 StockQuoteAxis 样本后,如果尝试将 StockQuoteAxis 和 StockQuoteAxisClient 项目添加至 Tomcat 4.0 或 4.1 服务器,将显示“没有可在服务器中添加或除去的项目”这一消息。如果尝试在 Tomcat 4.0 或 4.1 服务器上运行样本 JSP,将显示“选择的服务器不支持版本 1.4 的 J2EE Web 模块规范”这一消息。

因为已在样本中创建要在 J2EE 1.4 / Servlet 2.4 运行时上运行的 StockQuoteAxis 和 StockQuoteAxisClient Web 项目,并且 Tomcat 4.0 和 Tomcat 4.1 都不支持 Servlet 2.4 规范,所以会发生此问题。以下是两个变通方法:

  1. 在 Tomcat 5.0 服务器上运行样本。
  2. 遵循样本库中的“自已构建”指示信息并选择将 Web 项目的目标定为 Tomcat 4.0 或 4.1。

1.11 对带有复杂类型参数的 Web Service 生成的 WSDL 文件可能与对 J2EE 1.3 和 J2EE 1.4 应用程序生成的 WSDL 文件不同

如果创建的 J2EE 1.3 自底向上 Web Service 包含复杂类型参数,则包含 getter 的参数类中的每个字段都将映射至 WSDL 的 xsd:complexType 中的一个子元素。为完全符合 J2EE 1.4 中的 JAX-RPC 1.1 规范,此行为已经更改。每个读/写属性(如 java.beans.Introspector 类所标识的那样)将映射至 xsd:complexType 中的一个元素。

1.12 更改新的 EJB 项目的缺省客户机项目名称

当创建的框架 EJB Web Service 中的期望目标 EJB 项目还不存在时,Web Service 向导将创建该 EJB 项目及相关联的 EJB 客户机 JAR。例如,EJBProjectNameEJBProjectNameClient。此 EJB 客户机 JAR 项目名与 Web Service 向导尝试创建 Web Service 客户机时选择的缺省 Web Service 客户机项目名冲突。这将导致 Web Service 客户机项目中出现错误。如果 Web Service 客户机项目为 Web 项目,则将在客户机 EAR 中产生错误,并且在您要求向导生成样本 JSP 测试工具时显示“复制 Web Service 实用程序 JAR 时出错”。

变通方法是为 Web Service 客户机项目选择不同于 EJBProjectNameClient(当 EJB 项目 EJBProjectName 还不存在时)的名称,或者在启动 Web Service 向导之前创建 EJB 项目。

1.13 端到端方案在启用安全性的 Websphere Application Server V5.0 和 V5.1 上显示 restartModule 错误弹出框

如果 Websphere Application Server V5.0 或 V5.1 启用了安全性,Web Service 端到端方案将会进行超时等待并生成一条错误消息,说明“未能重新启动 module.*”。可以安全地忽略此错误。

1.14 路由器项目和 EJB 项目必须在同一 EAR 中

对于 IBM SOAP 和 IBM WebSphere 运行时,在自顶向下或自底向上 EJB Web Service 方案中必须将 EJB 项目及其路由器项目放在同一 EAR 中。

1.15 可通过管理控制台查看 LooseApps 但不能修改它

可通过管理控制台查看在 Websphere Application Server V6 中部署的应用程序,但不能修改它。如果 Rational Developer 产品应用程序需要完整的控制台功能,可从 UTE 服务器编辑器中取消选择“从工作空间运行资源”。这实际上将 UTE 视作远程服务器,并且生成 .ear 文件并公布它。

2.0 已知问题

2.1 IBM SOAP 框架 Web Service 的端到端方案失败

如果使用 IBM SOAP 运行时从 WSDL 文件创建框架 Web Service 并选择在同一向导中生成代理,则可能无法生成代理或生成的代理不正确。变通方法是先生成框架 Web Service 然后使用生成的 WSDL 来单独生成客户机。

2.2 框架和客户机方案不能使用受 HTTP 基本认证保护的 WSDL

在当前发行版中,Web Service 向导不能使用受 HTTP 基本认证保护的 WSDL 文件来创建框架 Web Service 或 Web Service 客户机。变通方法是使用浏览器并将 WSDL 下载到物理文件系统中,然后使用该 WSDL 文件的副本运行 Web Service 向导。

2.3 运行端点启用器后 JMS 路由器项目中出现错误消息

在运行 Web Service 端点启用器以创建 JMS 端点后,将在 JMS 路由器项目的 ejb-jar.xml 中报告以下错误:“CHKJ2802E:未能反映类 com.ibm.ws.webservices.engine.transport.jms.JMSListenerMDB 或其中一个超类型。检查类路径。”可以安全地忽略此错误消息。

2.4 教程:从 Java bean 创建 Web Service 无法创建正确的包名

完成“从 Java bean 创建并部署 Web Service”教程时,系统会要求您从名为 Resources 的文件夹导入 StockQuoteService Java bean。Resources 文件夹中的文件夹结构是不正确的,将导致正在创建的包与 Java bean 中的包名不匹配。

为更正此问题,在导入必需的资源时,选择 StockQuote 文件夹然后取消选择该文件夹中的文件夹。在导入 StockQuote 文件夹后,选择 StockQuote 包,右键单击并选择“重构”>“重命名”,然后将该包重命名为 stockquote。

2.5 删除用户定义的分类法不会从专用 UDDI 注册中心删除 tModel。

从“专用 UDDI 注册中心”向导的表中删除用户定义的分类法时,将从注册中心中删除类别数据,但并未删除 tModel。在搜索用户定义的类别时,Web Service 资源管理器仍然会显示已删除的类别。

2.6 导入样本库中的 Web Service 样本时可能发生错误

如果在没有 WebSphere V6 服务器的情况下尝试从样本库(WebSphere Stock Quote、温度转换或 AddressBook)中导入WebSphere Web Service 样本,将显示以下警告:

检测不到任何 WebSphere V6 服务器运行时。在安装 WebSphere V6 服务器之后,您将需要手工为已导入项目设置服务器目标运行时。

如果删除已导入样本、手工添加 WebSphere V6 服务器并继续重新导入,则样本导入时仍会有因为确定服务器目标失败而产生的编译错误。要解决该问题,删除样本,关闭工作台、重新启动样本然后重新导入它。

2.7 如果 WSDL 没有任何 SOAP 绑定,客户机方案中将抛出异常

如果使用 WebSphere Application Server V6.0 创建 Web Service 客户机,并且使用不包含任何 SOAP 绑定的 WSDL 文档,将抛出异常。

2.8 在 Web Service 向导的后续调用期间,框架方案不会刷新生成的 Java 文件

如果需要使用已修改的 WSDL 文件在同一项目中重新创建现有 Web Service,生成的 Java 文件将不会刷新。这可能导致编译错误或 Java 文件保持不变。此问题的变通方法是在运行框架 Web Service 向导之前备份生成的所有 Java 文件然后删除它们。

2.9 UDDIPublish/UDDIUnpublish -profileName <profile name> 中抛出了 NullPointerException

如果在 -profileName 之前未指定 -inquiryUrl <url>,UDDIPublish/UDDIUnpublish -profileName <profile name> 中将抛出 NullPointerException。由于缺省值已经与已安装的概要文件相匹配,所以您可能不需要使用 -profileName。如果需要使用 -profileName,应在 -profileName <profile name> 之前指定 -inquiryUrl <url>。

返回到主自述文件