Updating a Changed WSDL

If you created a project that uses a WSDL and the WSDL changes, you can attempt to update the existing WSDL with the new WSDL.

About this task

Updating a WSDL means that any entities that interface with the WSDL might be affected by the change. For example, the WSDL defines the input and output parameters of the operation and if the schema that defines these parameters changes in the new WSDL, the nodes that represent these parameters in the Map Inputs and Map Outputs tasks of the Web Services activities might no longer exist and any links to these nodes are no longer valid. You must recreate the links in order for the orchestration to be valid again. Updating a WSDL might require other changes to the project besides recreating links, for details see Table 1. In some cases, the new WSDL is not loaded as described in the first three rows in the following table.
Note: Updating an existing WSDL is different from loading multiple WSDLs into a project by either dragging a file into the Project tab or right-clicking on the WSDL folder in the Project tab and selecting Add Document. Updating a WSDL replaces the existing WSDL in the project, while uploading the same file into the Project tab creates two instances of the WSDL in the project.
Table 1.
Change in WSDL New WSDL replaces the initial WSDL? How is the project affected?
New WSDL is not a valid WSDL. For example the final </definitions> tag is missing at the end of the WSDL. No, the update does not occur None, the new WSDL is not loaded. No updates occur to any of the project entities.
Uploading the new WSDL to replace the existing one, would result in an invalid project. No, the update does not occur None, the new WSDL is not loaded. No updates occur to any of the project entities.
Attempt to update the current WSDL with a different WSDL and an orchestration or an endpoint in the project refers to the current WSDL.
Note: You can load multiple WSDLs into a project.
No, the update does not occur None, the new WSDL is not loaded. No updates occur to any of the project entities.
The Service Binding definition of the WSDL is defined by the service, port, and location elements. If the values of the service, port and location elements in the WSDL change, the values for these elements that are stored in the Web Service endpoint must be updated. Yes, update occurs The values in the Web Service endpoint are updated with the newest values specified in the WSDL. For details about these elements, see Creating or Editing a Web Services Endpoint.
The name of an operation changes in the WSDL and the orchestration is starting that operation in an Invoke Service activity. Yes, update occurs If the name of the operation changes and the operation is used by the Invoke Service activity, the first operation in the WSDL is by default assigned to the Invoke Service activity. This reassigning to the first operation might not be the wanted result. The input and output parameters of the first operation in the WSDL might be different than the operation originally specified and therefore the links might no longer exist in the Map Inputs and Map Outputs tasks. You must configure the Invoke Service activity again for the orchestration to be valid.
The name of one of the operation changes in the WSDL but the orchestration is not starting that operation in any Invoke Service activities. Yes, update occurs If the name of the operation changes and that operation is not used any Invoke Service activities, this change to the WSDL has no affect.
Additional <part> elements are added to the elements that define the input or output parameters of the operation. This change affects any project entity that references this part of the WSDL. The following is a list of possible affected entities:
  • Standalone Maps
  • Map Variables activity
  • Variables based on this part of the WSDL
  • An orchestration that contains an Invoke Service activity which starts an operation that uses this message type. For example, to the following example <message> element

For example, see Figure 1.

Yes, update occurs Since new <part> elements have only been added to the <message> element, typically this change has no affect on the existing maps and variables based on the WSDL. For the <Helloin> message example, adding the new city element has no affect on links to the existing address <part> element in the Map Inputs or Map Outputs tasks of the Invoke Service activity. If required, you can create links to the new element.
Change the type of a <part> element in a <message> element that define the input and output parameters of the operation. This change affects any project entity that references this part of the WSDL. The following is a list of possible affected entities:
  • Standalone Maps
  • Map Variables activity
  • Variables based on this part of the WSDL
  • An orchestration that contains an Invoke Service activity which starts an operation that uses this message type.
Yes, update occurs Any existing links in the maps are not removed even though the type might have changed.
CAUTION:
The type change might have run time impact, resulting in potentially bad output data. Check that any type conversions done in the links of maps do not result in bad output data being returned at run time.
Change the <message> element of the input or output parameter of the operation.

This change affects any project entity that references this part of the WSDL. The following is a list of possible affected entities:

  • Standalone Maps
  • Map Variables activity
  • Variables based on this part of the WSDL
  • An orchestration that contains an Invoke Service activity which starts an operation that uses this message type.
Yes, update occurs Links to the input or output parameter that has changed in the map are removed. You must create links to the changed parameter in maps. For example, if the <message> element changes for the input parameter of the operation called by an Invoke Service activity, the links to the nodes in the Map Inputs task of the Invoke Service activity are removed. You must create links from variables to the new set of nodes that show in the To Activity pane of the Map Inputs task.
Figure 1. Additional <part> elements example
<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>



Feedback | Notices


Timestamp icon Last updated: Wednesday, February 17, 2016


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