Server-based connectors automatically fetch a schema from the endpoint, while file-based connectors require you to provide the schema yourself. This page provides information about regenerating schemas for both of these schema types. For additional information on schema types, see Connector Classifications.
There is a known issue with regenerating schemas:
- Mappings appear to be valid when they are invalid
- Summary: When a source schema is refreshed and no longer contains source objects that have already been mapped to target fields, the transformation mappings incorrectly appear to be valid.
Workaround: To force re-validation of fields, open each target field script, click Return to Workflow, and then reopen the transformation.
A server-based endpoint (in contrast to a file-based endpoint) is an endpoint whose schemas are generated by a connector that interacts with that endpoint based on user configuration using the metadata provided by the corresponding endpoint's API. Server-based endpoints include Database endpoints, all application-specific endpoints, and — depending on how they were designed — custom endpoints created with Connector Builder or the Connector SDK.
Once a server-based endpoint is configured and the request and response schemas are generated, Cloud Studio stores the schemas within the project to facilitate faster loading during project design.
If there are changes to a schema within the endpoint system, you must regenerate the schema within Cloud Studio to use those changes in the project. This may be necessary if, for example, you have added a custom field or if you have upgraded your instance to use a later API version.
Depending on the endpoint, there are two ways to regenerate schemas:
- Refresh the schema: For all server-based endpoints except for Database, NetSuite, Salesforce, or ServiceMax endpoints, Cloud Studio includes the option to refresh the schemas in these component configuration screens:
- Reconfigure the activity: For all server-based endpoints including Database, NetSuite, Salesforce, and ServiceMax endpoints, you can regenerate a schema by opening the existing Cloud Studio activity configuration and advancing through each activity configuration step. Selecting objects or making other changes forces a refresh of the schema on the Data Schema step (see Activity Schema Regeneration below).
When a schema is refreshed, Cloud Studio uses the API provided by the endpoint to regenerate the schema for that server-based endpoint activity. This is true for all server-based endpoint activities except for those configured using a Connector Builder connector. (Connector Builder schemas are defined during Connector Builder creation. When a user of a connector built with Connector Builder refreshes the schema during project design, they bring in the current schema that the connector creator has defined in the designed connector, effectively refreshing the schema.)
Regenerating or refreshing a schema from an activity or transformation refreshes the schema in all locations where it is referenced. That is, if you have referenced multiple copies of the same activity in different places throughout the project, refreshing the schema in the activity configuration or advancing through the activity configuration steps in one place refreshes it for all. Similarly, if you refresh a schema in a transformation, this action refreshes it in the activity and in all places within the project where the same activity is referenced.
If a schema has changes in the endpoint's system but you have not yet regenerated the schema in either the activity or the transformation, the operation may or may not be successful. This depends on a variety of factors, such as the individual endpoint, the individual fields that are mapped in the transformation, and whether those fields have changed within the schema. For example, in a scenario where a required field in the original schema is later removed in the updated schema, errors from the endpoint system are likely to be reported at runtime. However, if a field has been removed but is optional in the mapping, errors may not be reported.
Activity Schema Regeneration
To regenerate a schema from an activity configuration for any server-based endpoint (including Database, NetSuite, Salesforce, and ServiceMax), open the activity configuration and advance through each activity configuration step. You must make at least one change (such as adding and removing a character from the end of the name of the activity) to the configuration to force a refresh of the schema on the Data Schema step:
Transformation Schema Regeneration
To regenerate a schema from a transformation for any server-based endpoint (except for Database, NetSuite, Salesforce, or ServiceMax), click the schema's gear icon to open a menu. From the menu, select Refresh Schema:
A file-based endpoint (in contrast to a server-based endpoint) refers to an endpoint whose schemas are provided by the user, including the API, File Share, FTP, HTTP, Local Storage, SOAP, Temporary Storage, and Variable endpoints.
Changes to file-based schemas are propagated to all schema references automatically. On opening a schema that is referenced by multiple components, a dialog displays a list of any components that reference the schema and will be affected by any changes:
If you do not want changes to be propagated across all locations where the schema is referenced, you must first edit the configuration of those components to remove or replace the schema reference.
Projects Prior to 10.33.2
File-based schemas referenced by multiple transformations in projects created prior to Harmony version 10.33.2 are automatically renamed using this naming convention:
The naming convention consists of these components:
- Original Schema Name: The original name of the schema prior to 10.33.2.
- Transformation Name: The name of the transformation in which the schema is referenced.
- Source or Target: Whether the schema is used on the source or target side of the transformation.