Show TOC

Procedure documentationReimporting Modified WSDL and XSD Files Locate this document in the navigation structure

 

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 on the ESM repository and importing of documents, see Importing WSDL and XSD Files.

When you trigger 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 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), both models will get invalidated. For example, if you have defined a mapping for an element in a complex type and you delete this element, the mapping becomes invalid.

End of the caution.

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 in sync. In this case, it is recommended either to make some additional changes and reimport the document or to 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.

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 from 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 might happen 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 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 get this conflict - reject the import.

    Caution 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.

    End of the caution.
  • Choose the Reject pushbutton - the document that you are trying to import is not imported in 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   Project   Build Automatically  . Upon 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   Service Composition   Service Interfaces   WSDL Files  .

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

  3. In the dialog that pops up, 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   Service Composition   Data Types   XSD Files  .

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

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

Configuring Reimport Behavior

You can configure the preferences of the reimport wizard. To do that:

  1. From the menu path choose   Windows   Preferences  . Open the   Enterprise Service Modeling   Import and Reimport   preference page.

  2. Select the Automatically accept all changes of the reimported document checkbox.

    The definitions in the repository are automatically overwritten with the ones in the modified WSDL or XSD file without you being prompted.