This component is used for executing BeanShell Scripts. The BeanShell script to be executed is specified using the Custom Property Sheet (CPS). This component executes the script on documents it receives as input and returns the result.
Configuration and Testing
Interaction Configuration
Figure 1: Interaction Configurations panel in BeanShell 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 BeanShell Script file (file should have .bsh extension) which you want to execute.
Figure 2: Script file path property to provide the location where the script file is saved
BeanShellScript
If Read Script from file ? property is disabled, populate the BeanShellScript property with the BeanShell Script.
Scheduler Configuration
Please refer the respective section in Common Configurations page.
Transport Configurations
Please refer the respective section in Common Configurations page.
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 BeanShell script.
Below are the sample input and the output respectively for the above script.
Figure 3: Sample Input Message
Figure 4: Response Generated
Functional Demonstration
Scenario 1
Configure the BeanShell Script 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 used is the same as that is provided in the Sample Input and Output section.
Figure 5: Scenario demonstration with sample input and output
Scenario 2
This sample demonstrates accessing an input message.
Configure the component with the following script.
Figure 6: Sample BeanShell 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.
- If there is no return value in the script, input record is sent as output message with empty message content.
The component uses the document object to get the content and properties of the message. The result(return value) after executing the script is set as output message.