REST Integration services

REST integration services are used to call operations provided by external APIs. The output of an integration service is usually the same as the response of the external API.

Create services

A service can be created by using the Create service capability on the Services tab of an integration namespace's Overview page.

Services are defined using the following master data:

  • Type: There is one option available and this is the REST Integration Service (required)
  • Local Identifier: Identifier of the service. this value must be unique within the namespace and cannot be changed afterwards. Please note that only the characters A-z (without special characters), digits and the special character "_" are permitted for naming fields! Furthermore, identifiers may not begin with a digit (required)
  • Label: Label of the service (optional)
  • Short Label: Short label of the service (optional)
  • Notes: Useful information regarding the service definition (optional)

Saga Pattern Role

For Domain Service Projects (Java) where the extension Saga Pattern Support is enabled, each Integration Service can be marked as a Saga Participant.

For a service marked as a Saga Participant the following input fields are needed:

  • On Compensate Method: If set to true automatically an onCompensate method will be generated.
  • On Complete Method: If set to true automatically an onComplete method will be generated.
  • Propagation Level: reuqired, requires_new, mandatory, supports, not_supported, never
  • Completion mode: auto or manual
  • Options Expressions: Allows to add Key Value pairs.
Warning:

Please note that changing the "Saga Pattern Role" field can destroy already implemented code! A Saga participant has no output. If an output is already set for the service, it will be deleted.

Edit services

Edit master data

You can edit the master data of an service by clicking the Edit service details button in the Service Details section on the service's instance page. Alternatively, you can use the Edit capability of each table row on the Services tab of a integration namespace's Overview page. The fields that can be edited are Label, Short Label and Notes.

Note:

It's not possible to edit the Type and the Local Identifier of a service.

Add input entity

It is possible to assign an Input entity to a service by either clicking on Create new private entity or Select existing entity in the Input section of the service's instance page. To add properties to the input entity click on the Add capability and choose

  • Create new property
  • Associate existing property

See Integration Properties for further details on creating properties.

Add output entity

It is possible to assign an Output entity to a service by either clicking on Create new private entity or Select existing entity in the Output section of the service's instance page. To add properties to the input entity click on the Add capability and choose

  • Create new property
  • Associate existing property

See Integration Properties for further details on creating properties.

Add business errors

To add a Business Error to a service that will get returned each time the service cannot be executed, click on Add error in the Business Errors section of the service's instance page. There are two options when adding an Error to a service:

  • Add new error
  • Add existing error

Regarding already existing errors, a list of all the errors that have been created in a project is shown. It is also possible to search for a specific error using the Search capability. One or more errors can be selected in order to be added to the service.

Delete services

You can delete a service by clicking the Delete service button in the upper right corner of the service instance page. Alternatively, you can use the Delete capability of each table row on the Services tab of a integration namespace's Overview page.

Warning:

You will need to confirm the action before the selected service gets permanently deleted.