Skip to main content
Skip table of contents

GroovyScript

This component is used for executing Groovy Scripts. The Groovy Script to be executed is specified in the Custom Property Sheet (CPS). This component executes the script on documents received as input and returns the result.

This component uses the Document Object to get the content and properties of the message. The result after executing the script should be set back onto the document object.

Configuration and Testing

Interaction Configuration


Figure 1: Interaction Configurations panel in GroovyScript CPS

Attributes

Read Script from file?

If enabled, Script file path property appears where you can provide the location where the script file is saved.

Script File Path

Provide the complete path of the Groovy Script file (file should have .groovy extension) which you want to execute.


Figure 2: Script file path property to provide the location where the script file is saved

GroovyScript

If the Read Script from file ? property is disabled, populate the GroovyScript property with the Groovy Script.

  • For the Expert Properties such as  Cleanup resources (excluding connection) after each document and Target Namespace, Elements to Decrypt and Elements to encrypt, refer respective sections in Common Configurations page.
  • For Monitoring configuration property too, refer the respective section in the above-mentioned page.
Replace Control Characters 

If this property is enabled, Control Characters present in the input will be replaced by a string representation of the same value during script evaluation. This is an expert property.

Scheduler Configuration

Please refer the respective section in Common Configurations  page.

Transport Configurations

Please refer the respective section in Common Configurations  page.

Transport Configurations panel will be available only if scheduling is enabled in Scheduler Configurations panel.

Error Handling

Please refer the sections Request Processing Error and Invalid Request Error in the Error Handling section of Common Configurations page for details.

Sample Input and Output

The configuration can be tested by clicking the Test button in the interaction Configuration panel.

Below is a sample Groovy script.

GROOVY
def foo(list, value) {
list << value
list << 2
list << 3
list << 4
return list
} 
x = []
foo(x, 1)

Figure 3: sample Groovy Script

Below are the sample input and the output respectively for the above script.


Figure 4: Sample Input Message


Figure 5: Response Generated

Functional Demonstration

Scenario 1

Execution of Groovy Script provided.
Configure the Groovy Script adapter as described in Configuration and Testing section and use feeder and display component to send sample input and to check the response respectively. In the example given below, the script provided is same as in the figure.


Figure 6: Scenario demonstration with sample input and output

Scenario 2

This sample shows accessing an input message. Configure the component with the following script:

GROOVY
return (document.getText()); 

Figure 5: sample Groovy Script


Figure 7: Sample Input Message


Figure 8: Response Generated

Useful Tips

  • Input message content and properties can be accessed using document object. For example, 'document.getText()' returns input message content. To access a message property named 'TestProperty, 'document.getRecord().getProperty('TestProperty')' returns the value of the property.
  • Message properties can be set using 'setProperty' method.
  • Message properties which are set on input message also appear on output message unless they are changed in the script. For example, if a property named 'TestProperty' is present on input message then output message also contains the property unless it is changed in script provided.
  • Output message content can be set either by using 'setText(String value)' of document object or by specifying a return value in the script provided. If both present, return value is set as message content.
  • The component uses the document object to get the content and properties of the message. The result after executing of the script should be set back onto the document object.


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.