Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2023.2

...

  • create new data set records
  • read existing data set records
  • update existing data set records
  • delete data set records

The primary use - case is to add the tool as an output to your Message Responder and configure operations to perform on the data when a message is sent to the virtual asset. You can manually configure the tool operation settings or script changes to record values before updating the data repository.

...

  1. Right-click on your responder and choose Add Output...

  2. Select an incoming request type in the wizard and choose Data Repository CRUD Tool. 
  3. Click Finish and specify a name for the tool (optional).
  4. Click Add in the Configuration tab and specify name for the operation (optional).
  5. Enable the Create, ReadUpdate, or Delete option.
  6. Choose the data repository data source you want to perform the operation on from the Data Source drop-down menu.
  7. Click Add in the Correlation section and specify the correlation columns and values of the data set records that you want to manipulate. See Data Source Correlation Tab for details on how to configure data source correlation criteria.  

  8. Configure the specific settings for Create, ReadUpdate, or Delete operations and save your changes.
  9. You can add additional configurations so that you can perform multiple operations on multiple fields in the same execution.
  10. Deploy your responder and execute your client to perform the operations you configured on the connected repository.

...

  1. Click Edit JSON to open an editor for specifying the record. A JSON template of the record structure will be pre-populated by default.
  2. Choose the Form JSON view or Literal view from from the Input Mode drop-downmenu. The Form JSON is selected by default.  
  3. Specify the values and click OK. You can also click Reset Template to reset the form based on the existing JSON structure. 

    The Form JSON view also supports cut, copy, delete, and insert action from the right-click menu.
     
  4. Click OK. The Value field will show a preview of the JSON. 
     

...

You can also choose Scripted and construct the JSON payload through scripting.

See Extensibility or Scripting Basics for additional information.

...

  1. Click Add in the Read section and choose the element selector type.
    1. Choose Record to specify the XPath of the record value you want to read.
    2. Choose Key to specify the key column containing the key value you want to read. In the following example, the repository contains a key column called "catsKeyCol." 

      The repository contains two rows of selectable records.

      In this example, a wildcard is set in the data source correlation section, which indicates that the CRUD tool should read from all records. At runtime, the CRUD tool should return values 1 and 2.

  2. Specify a custom column name in which to store the value.
  3. If you are using the tool with a SOAtest client, you can also choose a column from a writable data source column.
  4. If your suite contains variables, you can specify a column name matching a variable value
  5.  Click OK and enable any additional operation settings you want to apply:
    • Enable the Fail if no correlation match option to prevent the tool from reading the repository if errors are reported. This option is enabled by default.
    • Enable the Return the first correlation match only to stop reading after the first match. This option is enabled by default.
    • Enable the Extract empty elements as: option and specify a value or parameterized value to use if the elements are empty.
    • Enable the Extract missing elements as: option and specify a value or parameterized value to use if the elements are missing.

...

  1. Click Add and specify the update mode. The following modes are available: 
    1. Replace Element(s).: This mode updates the value of individual primitive records, such as strings.
    2. Replace List. This : This mode updates non-primitive values, such as arrays.    
    3. Append to List. : This mode adds a value to the end of an array. 
    4. Prepend to List. This : This mode adds a value to the beginning of an array.
    5. Delete from List. : This mode removes a value from an array.
  2. Specify the location of the element you want to update in the location field.
  3. In the Value field, specify the new value using one of the following options:
    1. Choose Simple to enter a fixed value. You can also choose the special [exclude]  or  or [null] values from the the drop-down menu. 
    2. Choose Scripted and click Edit Script to programmatically specify a new value based the existing record. 
    3. Choose Parameterized and choose an extracted value from the drop-down menu.
    4. Choose Complex and click Edit JSON to manually specify updates to the structure and values of the record. You can modify the JSON using the Form JSON view (default) or Literal view. Click Reset Template to undo modifications. The Form JSON view also supports cut, copy, delete, and insert action from the right-click menu.
  4. Click OK. 
  5. Enable any additional settings in the Operation Settings section: 
    1. Enable the Create if unable to update option update to create a new record if an existing record cannot be found. 
    2. Enable the Fail on correlation and update errors option to prevent the tool from update the repository if errors are reported. This option is enabled by default. 

...

You can enable or disable the Fail if no correlation match option

CRUD Example Workflow

In this example, we will attach a CRUD tool to a JSON message responder and manipulate a connected data repository. In this example, we'll create a new repository based on a sample response, so you will need access to a functional API endpoint if you want to perform the following procedure.

...

  1. Right-click on the responder and choose Add Output.
  2. For this example, we want the CRUD tool to execute when a request is sent to the responder. Choose Payload from the Incoming Request menu.
  3.  Choose Choose Data Repository CRUD Tool and click Finish.
  4. In the CRUD tool interface, click Add and rename the operation to "read".
  5. Choose the Read operation and verify that the data source you created is selected. 
  6. Click Add in the Correlation table and specify the name of the key column. 
  7. The repository in this example only has one row, but we will use a wildcard to correlate all rows.
  8. Click OK and click Add in the Read table. 
  9. In this example, we will select the record to ready by specifying the XPath. Choose Record from the Selected Element menu and click XPath.
  10. Choose which element to read when prompted. In this example, we'll choose the root element to read the entire record.
  11. Click OK to close the XPath selector and click OK to finish adding configuring the element selection.
  12. Leave the default settings for all other Read options and click Add in the tool configuration section to add another operation.
  13. Rename this operation to "create" and choose the Create option.
  14. Click Add in the Correlation table specify the key column and enter 2 as the value to create another row.
  15. Click OK and choose Parameterized from from the Value field in the Create section and specify the root elementroot element. If the root element is not available from the drop-down menu, you may need to save your changes, close the CRUD tool editor, and reopen it. 
  16. The CRUD tool is now configured to read all stored records correlated with key column and create another record (row 2) containing all values under the root element. Save your changes and execute the .pva by calling its endpoint. 

...

  1. Open the CRUD tool and click Add to create another operation.
  2.  Rename Rename the operation to "update" and choose the Update option.
  3. Click Add in the Correlation table and enter catsKeyCol for the Key column field.
  4. Specify the a fixed value of 2 and click OK. This directs the operation to be performed on the record we created in the previous step.
  5. Click Add in the Update table and choose the Replace Element(s) mode.
  6. Click Location and choose an element for which to update a value. 
  7. Choose Simple from the Value menu and specify the new value for the field. In this example, the first item element under the root will be updated. To update all items at the same level, you could replace the 1 in the path with a * wildcard.
  8. Click OK and save your changes.
  9. Call the .pva and the record will be updated in the repository.

...