Show TOC

Reimporting Modified WSDL and XSD FilesLocate this document in the navigation structure

Use

If you have an already imported service interface definition or an XSD document which you afterwards modify locally, you may want these changes to take effect in the model of your application. To do that you need to reimport the service interface or XSD file from your file system back to the Enterprise Service Modeling (ESM) repository. If you want to reimport the original document, you need to import it again from its original location (for example a back-end system). For more information about the ESM repository and importing documents, see Importing WSDL and XSD Files .

When you trigger the reimport of a modified document, you can view the changes in the original and modified version of the document and choose whether to accept them. In case you accept the changes, the new version of the document is imported in the repository and it overrides the old one.

Caution

If you have modeled some artifacts that rely on the old document (and especially on an entity that is changed in the new version), these artifacts will get into error state and you have to update them. To do that, open the composed or simplified service operation in the diagram editor and from the Properties view select the modified service interface definition to reassign it to the composed or simplified service operation. Then, redefine any mappings that existed before the reimport of the document.

If you choose to reject the changes, the new version of the document is not imported in the repository and hence the document file and the repository are not synchronized. In this case, we recommend that you either make some additional changes and reimport the document, or else revert it to its original version.

You can either automatically reimport the modified document without explicit approval, or manually trigger the reimport procedure and accept or reject each change in the reimported document. For more information about reimport preferences, see Configuring Import and Reimport Preferences .

You can use the Show/Hide Transitive Differences pushbutton to see all entities that are not directly changed, but also depend on changed entities. For example, if a type definition is changed, by showing transitive differences you can see all elements of this type, all types having this type as a base type, and so on.

When you import or reimport an XSD file in the repository, it is possible that one and the same entity (having the same qualified name) has a different definition in the document that you are trying to import, compared to the definition already existing in the repository and defined by other documents. Such different definitions of the same entity are not allowed in the repository because of the qualified name uniqueness concept. If such a conflict occurs, in the dialog that appears you can choose one of the following options:

  • Choose the Update Files pushbutton - the entity definition in the document you are trying to import overrides the old entity definition, both in the repository and in the files of the already imported documents. The new document will be imported. Use this option with caution because it might have a severe impact on runtime. Choose this option only if you are sure that all existing services containing this entity have changed, and use the new entity definition. If you are not sure, get the latest versions of these documents, reimport them and if you still receive this conflict, reject the import.

    Caution

    A conflict may occur in case you have an XSD file imported in ESM and try to import a WSDL file with multiple schemas. For example, the imported schema is in a file A.xsd and defines schema with target namespace "http://a" . The WSDL is in a file W.wsdl and defines two inline schemas for namespaces "http://a" and "http://b" . Now if the conflicting type, belonging to namespace "http://a" , in the WSDL refers entity from namespace "http://b" an import must be added to A.xsd for namespace "http://b" . This conflict cannot be resolved automatically because either there is no schema file for namespace "http://b" or there is more than one.

    To resolve the conflict, open the conflicting schema file(s), in this case A.xsd , and add the necessary imports for all required namespaces. This could require creation of the necessary schema files (in this case for example B.xsd ) if there are no suitable ones existing. Also make sure that you have added all transitive dependencies (for example the referred entity in namespace "http://b" could refer another entity in "http://c" , and so on. Then import/reimport these changes and try again to import the WSDL file.

  • Choose the Reject pushbutton - the document that you are trying to import is not imported into the repository. If you still want to use this document you must import it into another project.

You can see all the documents that define a conflicting entity by choosing the Show/Hide Affected Schemas pushbutton, located in the top-right corner of the compare dialog.

Procedure

Automatic Reimport of WSDL Files

To activate the automatic reimport from the menu path, choose Start of the navigation path Project Next navigation step Build Automatically End of the navigation path. With each saved change of the service interface, the reimport will be automatically activated.

Manually Starting the WSDL Reimport

  1. In the Project Explorer , open your project and navigate to Start of the navigation path Service Composition Next navigation step Service Interfaces Next navigation step WSDL Files End of the navigation path.

  2. Click the service interface file you want to reimport with the secondary mouse button and choose Reimport .

  3. In the dialog that appears, you can see what will be changed in the WSDL file. Choose Accept to apply the changes and reimport the file.

Reimport of XSD Files

  1. In the Project Explorer , open your project and navigate to Start of the navigation path Service Composition Next navigation step Data Types Next navigation step XSD Files End of the navigation path.

  2. Click the XSD file you want to reimport with the secondary mouse button and choose Reimport .

  3. In the dialog that appears, you can see what will be changed in the XSD file. Choose Accept to apply the changes and reimport the file.