更新已更改的 WSDL

如果您创建了使用 WSDL 的项目并且 WSDL 已更改,那么您可以尝试用新 WSDL 更新现有的 WSDL。

关于此任务

更新 WSDL 意味着与 WSDL 相连的任何实体可能受此更改的影响。例如,WSDL 定义操作的输入和输出参数且如果定义这些参数的模式在新 WSDL 中更改,那么在 Web Service 活动的映射输入映射输出任务中表示这些参数的节点可能不再存在,且到这些节点的任何链接不再有效。您必须重新创建链接,以使编排重新有效。除了重新创建链接,更新 WSDL 还可能需要对项目进行其他更改,关于详细信息,请参阅表 1。在某些情况下,未装入新的 WSDL,如下表中前三行内所述。
注: 更新现有 WSDL 不同于通过将文件拖动至项目选项卡,或右键单击项目选项卡中的 WSDL 文件夹并选择添加文档,将多个 WSDL 装入项目中。更新 WSDL 将替换项目中的现有 WSDL,而将同一文件上载到项目选项卡会在项目中创建 WSDL 的两个实例。
表 1.
WSDL 中的更改 新的 WSDL 替换初始 WSDL? 如何影响项目?
新的 WSDL 不是有效 WSDL。例如,在 WSDL 的末尾缺少最终 </definitions> 标记。 否,不发生更新 无,未装入新的 WSDL。未发生对任何项目实体的更新。
上载新的 WSDL 以替换现有 WSDL,将导致项目无效。 否,不发生更新 无,未装入新的 WSDL。未发生对任何项目实体的更新。
尝试以其他 WSDL 更新当前 WSDL,且项目中的编排或端点引用当前 WSDL。
注: 您可以将多个 WSDL 装入一个项目。
否,不发生更新 无,未装入新的 WSDL。未发生对任何项目实体的更新。
WSDL 的服务绑定定义是由服务、端口和位置元素定义的。如果 WSDL 中的服务、端口和位置元素值发生更改,那么必须更新存储在 Web Service 端点中的这些元素的值。 是,发生更新 用 WSDL 中指定的最新值更新 Web Service 端点中的值。要获取关于这些元素的详细信息,请参阅创建或编辑 Web Service 端点
WSDL 中的操作名称发生更改且编排正在调用服务活动中启动该操作。 是,发生更新 如果操作名称发生更改且操作由调用服务活动使用,那么缺省情况下,将 WSDL 中的第一个操作分配给调用服务活动。 这种针对第一个操作的重新分配可能不是希望的结果。WSDL 中第一个操作的输入和输出参数可能不同于最初指定的操作,因此,这些链接可能不再存在于映射输入映射输出任务中。 您必须再次配置调用服务活动以使编排有效。
WSDL 中的某个操作名称发生更改,但是编排未在任何调用服务活动中启动该操作。 是,发生更新 如果操作名称发生更改而该操作未由任何调用服务活动使用,那么此 WSDL 更改没有任何影响。
其他 <part> 元素添加到定义操作的输入或输出参数的元素。此更改影响引用此部分 WSDL 的任何项目实体。以下是可能受影响实体的列表:
  • 独立映射
  • 映射变量活动
  • 基于此部分 WSDL 的变量
  • 包含调用服务活动(启动使用此消息类型的操作)的编排。例如,对于以下示例 <message> 元素

有关示例,请参阅图 1

是,发生更新 由于新的 <part> 元素仅添加到 <message> 元素,所以此更改一般对基于 WSDL 的现有映射和变量没有影响。对于 <Helloin> 消息示例,添加新城市元素对到调用服务活动的映射输入映射输出任务内的现有地址 <part> 元素的链接没有影响。如果需要,您可以创建到新元素的链接。
更改 <message> 元素中定义操作的输入和输出参数的 <part> 元素的类型。此更改影响引用此部分 WSDL 的任何项目实体。以下是可能受影响实体的列表:
  • 独立映射
  • 映射变量活动
  • 基于此部分 WSDL 的变量
  • 包含调用服务活动(启动使用此消息类型的操作)的编排。
是,发生更新 虽然更改了该类型,也不会除去映射中的任何现有链接。
警告:
该类型更改可能具有运行时影响,可能导致输出数据出错。 检查在映射链接中完成的任何类型转换是否没有导致在运行时返回的输出数据出错。
更改操作的输入或输出参数的 <message> 元素。

此更改影响引用此部分 WSDL 的任何项目实体。以下是可能受影响实体的列表:

  • 独立映射
  • 映射变量活动
  • 基于此部分 WSDL 的变量
  • 包含调用服务活动(启动使用此消息类型的操作)的编排。
是,发生更新 除去在映射中更改的输入或输出参数的链接。您必须创建在映射中更改的参数的链接。例如,如果调用服务活动调用的操作的输入参数的 <message> 元素更改,那么将除去调用服务活动的映射输入任务中节点的链接。您必须创建从变量到映射输入任务的“目标活动”窗格中显示的新节点集的链接。
图 1. 其他 <part> 元素示例
<message name="HelloIn">
	<part name="address" type="xsd:string>
</message>
Add the following additional <part> element
<message name="HelloIn">
<part name="address" type="xsd:string>
<part name="city" type="xsd:string>
</message>



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/WS_updating_a_changed_WSDL_ov.html