Remote Operations service tasks

REST Invoker

Description: HTTP TASK - REST Invoker.

Triggerable: No

Variables:

Parameter
Type
Required
Description

Request method

Long

Y

Request method to be used in the HTTP call: GET, POST, PUT or DELETE

Request URL

String

Y

Request URL of the HTTP call. Can contain expressions, e.g. 'http://your-system.example.com/your-endpoint/${someVariable}'

Request headers

String

N

Line separated HTTP request headers

Request body

String

N

Request body to be sent, e.g. a JSON file. You can use expressions, e.g. {'clientId': ${clientId}, 'name': ${name}}

Request body encoding

String

N

HttpRequest body encoding expression, for example UTF-8

Request timeout

Integer

N

Request timeout in milliseconds

Disallow redirects

Boolean

N

Determines whether HTTP redirects are allowed

Handle status codes

String

N

List of status codes for which the task throws a BpmnError which can be caught by a boundary error event. Code ranges can be set with an X: Example: 400, 404, 5XX. Status codes in handleStatusCodes override those in failStatusCodes when they are set in both

Save request variables

Boolean

N

Determines whether all request variables are stored. By default, only response related variables are stored as variables

Save response parameters

Boolean

N

Determines whether response variables including HTTP status, headers, etc. are stored. By default, only the response body is stored as a variable

Response variable name

String

Y

The variable name in which the HTTP response is stored

Save response variable as Json

Boolean

N

Determines whether the response variable is stored as a JSON variable instead of a String

Result variable prefix

String

N

A prefix that is added to the result variable name for easier grouping. The following variables are affected: responseProtocol, responseReason, responseStatusCode, responseHeaders, responseBody, errorMessage

Remote SpLs

Description: It invokes the Remote SpLs service that lists the content of a remote folder.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Remote path

String

Y

Remote path to use in the current operation. Tip: It's a remote path, so plain String, not a VirtualPath.

Transfer profile

Transfer_profile

Y

Client Connection that lists the content of the remote folder

Resource profile

Resource_profile

N

File resource, if any, to be applied during the operation

List

String

Y

Variable that will contain the list of files as a result of the current operation. (Tip: You can cycle through elements of a list using the Subprocess object)

Return code

String

Y

Workflow variable where the final return code will be written

Remote SpRm

Description: It invokes Remote SpRm service that removes a file identified in the remote path.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Remote path

String

Y

Remote path to be used. It's a remote path, so a plain String, not a VirtualPath

Transfer profile

Transfer_profile

Y

Client Connection that removes the file

Resource profile

Resource_profile

N

File resource, if any, to be applied during the operation

Return code

String

Y

Workflow variable where the final return code will be written

Mail pull

Description: It invokes the SpMailPull command service that retrieves an email on a remote file system and sends it to a Virtual file system.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Transfer profile

Transfer_profile

Y

Client Connection of the Actor that connects to the server email to collect the file

VFS unverified

String

Y

Virtual file system where email(s) that are not verified will be placed

Remote path

String

Y

Remote Path

VFS verified

String

Y

Virtual file system where email(s) that are verified will be placed

VFS discarded

String

Y

Virtual file system where email(s) that are discarded will be placed

Raw

String

Y

Virtual path folder name where the raw mail is stored

Attachment Virtual Path

String

N

Virtual path folder name where the attachment is stored

Disposition

String

N

Email desired disposition behavior

Return Code

String

N

Workflow variable where the final return code will be written

Mail push

Description: It invokes the SpMailPush command service that sends an email to a Virtual file system.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Transfer profile

Transfer_profile

Y

Client Connection that sends the email to the configured email address

To

String

Y

Email recipient

From

String

Y

Email sender

Subject

String

Y

Email subject

Body

String

Y

Body of the email

Raw

String

Y

Virtual path folder name where the raw mail is stored

FileSet Id

Long

N

Referenced FilesSet ID for this email

Mail Sign

String

N

Whether the email sign is required or not

Alias Sign

String

Y

Email sign alias key (mandatory if 'Sign Mail' is required)

Return Code

String

N

Workflow variable where the final return code will be written

Mail push templated

Description: It invokes SpMailPush templated command service.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Transfer profile

Transfer_profile

Y

Client Connection that sends the email to the configured email address

To

String

Y

Email recipient

From

String

Y

Email sender

Subject

String

Y

Email subject

TemplateId

String

Y

Identifier to the HTML template to be used for the body

Return Code variable

String

N

Workflow variable where the final return code will be written

🚀 Remote SpPull

Description: It invokes the SpPull service that retrieves a file from the file system and writes it to a virtual path.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Remote path and filename

String

Y

Absolute remote source path (path and file name) where the file is collected. 🚀 For SFTP transfers, see "Remote SpPull custom commands for SFTP transfers" below.

Transfer profile

Transfer_profile

Y

Client Connection that retrieves the file and writes it to a virtual path

Resource profile

Resource_profile

N

File resource, if any, to be applied during the operation applied to the transport

Destination

Virtual_path

Y

Destination virtual path where the file will be placed

Dest Filename

String

Y

Name of the file to set once pulled

FilesetID created

String

Y

Name of the variable that will contain the RegistryID (FilesetID) of the created file

Return Code variable

String

Y

Workflow variable where the final return code will be written

🚀 Remote SpPull custom commands for SFTP transfers

Before a Remote SpPull SFTP transfer, cd and ls custom commands can be run to change the directory where files are pulled or to show the list of files/folders in the directory.

The commands must be entered manually during the workflow design phase. They must be written in a Script task service task and added before the RemoteSpPull service task.

The variable to be used for these custom commands is preClientPull_<sequentialNumber> followed by the cd or ls custom command and the absolute or relative directory. The sequential number indicates the order in which the commands are executed in the workflow and starts at 0. The order of execution is always determined by this sequential number, not by the order in which they are entered in the script.

This is an example of two commands of the Script task service task:

execution.setVariable("preClientPull_0", "cd /home/user1/dataone/in"); execution.setVariable("preClientPull_1", "ls ..");

Once inserted into the workflow, the variable will be applied to the following service task. To change the values of the variables in other RemoteSpPull service tasks, additional Script task service tasks must be added with the new variables.

If the variable contains the cd command, the new directory overwrites the one specified in the remote path of the client connection's directory. The directory can be absolute or relative.

To check that the cd command has been executed correctly, go to MonitoringLogs and enter the message code SFP1055. This is an example of the message displayed: Master: SFTP Start Executing command: CdCommand{path='/home/user1/dataone/in'}

If the variable contains the ls command, a list of specific files or directories will be created. An absolute or relative directory can be given as input.

Checking that the ls command is executed correctly is done in 2 ways:

  1. In the Steng's messages.log file.

  2. Going to MonitoringLogs and using the message code SFP1056. This is an example of the message shown: Master: SFTP End Executing command: LsCommand{path='..'}

🚀 Remote SpPush

Description: It invokes the SpPush service that retrieves a file from a virtual path and writes it to a file system path.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

File ID

Long

Y

ID of the file to be pushed (Tip: if the file is in a "FileDetail" variable, its ID can be retrieved with ${file.getRegistryId()} )

Remote Path

String

Y

Destination remote path to place the file into. 🚀 For SFTP transfers, see "Remote SpPush custom commands for SFTP transfers" below.

Transfer profile

Transfer_profile

Y

Client Connection that retrieves the file from the virtual path and writes it to the file system path

Resource profile

Resource_profile

N

File resource, if any, to be applied during the operation applied to the transport

Return Code variable

String

Y

Workflow variable where the final return code will be written

🚀 Remote SpPush custom commands for SFTP transfers

Before a Remote SpPush SFTP transfer, cd and ls custom commands can be run to change the directory where files are pushed or to show the list of files/folders in the directory.

The commands must be entered manually during the workflow design phase. They must be written in a Script task service task and added before the RemoteSpPush service task.

The variable to be used for these custom commands is preClientPush_<sequentialNumber> followed by the cd or ls custom command and the absolute or relative directory. The sequential number indicates the order in which the commands are executed in the workflow and starts at 0. The order of execution is always determined by this sequential number, not by the order in which they are entered in the script.

This is an example of two commands of the Script task service task:

execution.setVariable("preClientPush_0", "cd /home/user1/dataone/out"); execution.setVariable("preClientPush_1", "ls ..");

Once inserted into the workflow, the variable will be applied to the following service task. To change the values of the variables in other RemoteSpPush service tasks, additional Script task service tasks must be added with the new variables.

If the variable contains the cd command, the new directory overwrites the one specified in the remote path of the client connection's directory. The directory can be absolute or relative.

To check that the cd command has been executed correctly, go to MonitoringLogs and enter the message code SFP1055. This is an example of the message displayed: Master: SFTP Start Executing command: CdCommand{path='/home/user1/dataone/out'}

If the variable contains the ls command, a list of specific files or directories will be created. An absolute or relative directory can be given as input.

Checking that the ls command is executed correctly is done in 2 ways:

  1. In the Steng's messages.log file.

  2. Going to MonitoringLogs and using the message code SFP1056. This is an example of the message shown: Master: SFTP End Executing command: LsCommand{path='..'}

🚀 Remote SpJMSPush

Description: This service task splits file into one or more messages, maps file metadata into JMS message attributes and sends JMS messages. These 2 triggers are associated with this service task:

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used.

JMS delivery modes

String

N

Method of delivery of JMS messages. Options are:

- Persistent (the message is saved and its delivery is ensured).

- Non_persistent (the message must not be saved and could be lost, for example in case of problems on the server).

File ID

Long

Y

ID of the file to be pushed.

Tip: if the file is in a "FileDetail" variable, its ID can be retrieved with ${file.getRegistryId()}.

Remote JMS destination

String

Y

Name of the JMS destination

Remote JMS destination type

JMS_type

Y

Type of JMS destination. Options are: queue or topic

Splitting Message Processing Rule

Message_processing_rule

N

This is the splitting Message Processing Rule to be applied. It is configured in SetupMessage processing rule.

JMS Message priority levels

Integer

N

This is the priority assigned to the messages that are created when splitting the file. It must be an integer between 0 and 9. Default is 4.

Propagates Data One Metadata

Boolean

N

This variable propagates system metadata to JMS Properties. See the Metadata mapping for split file content page for details.

Resource profile

Resource_profile

N

ResourceProfile, if any, to be applied during the operation.

Return code

String

N

Workflow variable where the final return code will be written.

JMS Message time to live

Long

N

This variable sets how many seconds messages will live. A number higher than 0 is accepted.

Transfer profile

JMS_transfer_profile

Y

Client Connection that must be used to push the file to the remote path. See Client Connection: JMS for details.

Remote SpMkdir

Description: It invokes the SpMkdir service that creates a new folder on a remote path.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Remote path

String

Y

Remote path of the folder to create

Transfer profile

Transfer_profile

Y

Client Connection that creates the folder on the remote path.

Return Code variable

String

Y

Workflow variable where the final return code will be written

Remote SpMv

Description: It invokes the SpMv service that moves a file from a source location to a destination.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Source

String

Y

Source path to be moved

Path

String

Y

Destination path after the move command has been performed

Transfer profile

Transfer_profile

Y

Client Connection that moves the file

Resource profile

Resource_profile

N

File Resource, if any, to be applied during the operation applied to the transport

Return Code variable

String

Y

Workflow variable where the final return code will be written

SOAP

Description: It invokes the SOAP Service.

Triggerable: No

Variables:

Parameter
Type
Required
Description

URL

String

Y

The url of the soap service

Envelope

String

Y

The envelope for the SOA service

Response

String

Y

The response of the SOA service

Connection Timeout

Integer

Y

Maximum time, in milliseconds, to await when opening a communication link to the resource

Response Code

String

Y

The HTTP response code of the SOAP service invocation will be saved in the declared variable

Spjz Sub

Description: Submit JCL in zOS platform.

Triggerable: Yes

Variables:

Parameter
Type
Required
Description

Cluster

Cluster

Y

Cluster to be used

Dataset

String

Y

Directory name

Member

String

N

File name

JES Reader Class

String

Y

JES Reader Class

FilesetId

Long

Y

ID of the file to be used in ZOs job (Tip: if the file is in a "FileDetail" variable, its ID can be retrieved with ${file.getRegistryId()} )

Return code

String

Y

Workflow variable where the final return code will be written

Last updated