The Field Editor
Use the Field Editor to specify that a message field (data attribute) be populated by using or fulfilling certain criteria. Open the editor by double-clicking a field or element name within a message or a stub, by or right-clicking the field and selecting
.The standard field editor consists of a window with three action groups that are provided under their own tabs: Value, Validate, and Store (for outgoing messages) or Filter, Validate, and Store (for incoming messages).
- In the Subscriber view: When the option is enabled, no validation error is generated in case the field is missing in the message.
- In the Publisher view: If the value of the field is calculated as null at run time, either because it has a tag that resolves to null or it has a null field action, then the entire field is removed from the published message.
The Value tab
Use the Value tab to specify a value for the field for outgoing messages.
Under the Formatting tab, various types of formatting can be applied to field values at run time. For more information, see Formatting field values.
For more information, see Setting a field value.
The Filter tab
By using the Filter tab, you can restrict which messages a subscriber processes based on the content of the selected field.
For more information, see Filtering fields.
The Validate tab
By using the Validate tab, you can define how to compare or verify the contents of a field that requires validation (for example, in the context of subscription).
The Store tab
By using the Store tab, you can store the contents of the field in a tag (for example, when you are receiving a message, or to record the value of a dynamic field in a published message).
If the "Append to list of values" option is enabled, the tag is updated as a list of values (for example, {val1, val2, val3}) when new values are stored.
For more information, see Storing field data in tags.
Action types
This following provides a list of available action types.
There is only one way at a time to populate a value, but there are many different ways to validate or store a value. Therefore, the Validate and Store tabs can accommodate one or more action types.
The availability of action types depends on the transport, formatter, and field type that you select:
Action type | Tab | Field type | Description |
---|---|---|---|
Does Exist | Filter | Scalar, Message-based | Accept or ignore incoming messages depending on whether the selected field exists in each message. |
Is Null | Filter, Validate | Scalar, Message-based | Verify whether the selected field is null. |
Not Null | Filter, Validate | Scalar, Message-based | Verify whether the selected field contains a value. |
Name | Filter | Scalar, Message-based | Accept or ignore incoming messages depending on the name of the selected field in each message. |
Type | Filter | Scalar, Message-based | Accept or ignore incoming messages depending on the type of the selected field in each message. |
Assert using Function | Filter, Validate | Scalar, Message-based | Use a Test Integrations and APIs function (that returns a Boolean type) to filter/validate the selected field. |
Value | Value | Scalar | Validate the contents of the selected field of each outgoing message against a specific manually entered value. |
File | Value | Scalar | Populate the contents of the selected field with the contents of a selected file. You must also select the file. |
Function | Value | Scalar | Execute a Test Integrations and APIs function (including custom functions). The result of the function is used as the field value. |
Decrement | Value | Scalar | Decrease the selected fields value by a specified amount each time that the outgoing message is sent. This involves setting an initial value and a step value. |
Increment | Value | Scalar | Increase the selected fields value by a specified amount each time that the outgoing message is sent. This involves setting an initial value and a step value. |
List | Value | Scalar | Test Integrations and APIs treats each entry in the specified input as a separate value. Values can be separated using any available delimiters (new line, comma, tab, or full stop). The first time that the selected outgoing message is sent, the selected field will be set to the first value. For each subsequent iteration, the next value in the sequence will be used. If a message is published more times than the number of available values, the cycle will restart from the first value. You can also reset the action and restart from the first value. |
Null | Value | Scalar, Message-based | Clear the contents of the selected field. |
Process Children | Value | Message-based | Process all the children of the selected field. |
Process Tag | Value | Message-based | Replace the contents of the selected field with the contents of a tag, then process the new contents. The tag must contain the contents of another message-based field. |
Equality | Validate, Filter | Scalar | Verify whether each outgoing message contains a value in the selected field that matches the specified value. |
Length | Validate, Filter | Scalar | Verify whether each outgoing message contains a value in the selected field that falls within the specified maximum and minimum values. |
Regex | Validate, Filter | Scalar | Use the specified regular expression to validate the contents of the selected field of each outgoing message. |
XPath | Validate, Filter | Scalar | Use the specified XPath expression to validate the contents of the selected field of each outgoing message. |
JSONPath | Validate, Filter | Scalar | Use the specified JSONPath expression to validate the contents of the selected field of each outgoing message. |
Schema | Validate, Filter | Scalar | Use the specified schema to validate the contents of the selected field of each outgoing message. Note: If you are using Test Integrations and APIs 8.6.0 or later, you can validate any messaging action against a specific WSDL document in your project. |
XSD Type | Validate, Filter | Scalar | Verify whether the field is of the correct type as specified by the XSD used to build the message. |
Name | Validate | Message-based | Present by default, but the associated checkbox can be cleared. |
Type | Validate | Message-based | Present by default, but the associated checkbox can be cleared. |
Validate Element Children | Validate | Message-based | Validate the children of the selected field. Only available in XML messages. |
Validate Message Children | Validate | Message-based | Validate the children of the selected field. |
Validate Using Tag | Validate | Message-based | Validate a received value against a message or sub-message that has been previously tagged. |
Validate Using Message from File | Validate | Message-based | Validate the selected field against a predefined message created in the Requirements View. |
Copy (Value) | Store | Scalar, Message-based | Store the value of the field into a tag. |
Regular Expression | Store | Scalar, Message-based | Store the result of comparing a regular expression
to the value of the selected field. Use the Match option to store a boolean indicating if the regular expression matched any part of the value. Use the Data option to store the full response or the complete data that is returned by the Regular Expression query. Use the Instance option to extract the part of the value that matches the regular expression. The instance number given is used to select the occurrence if there are multiple matches. |
XPath Query | Store | Scalar, Message-based | Store the result of performing an XPath query on
the XML in the selected field. Use the Match option to store a boolean indicating whether the XPath expression matched any part of the value. Use the Data option to store the full response or the complete data that is returned by the XPath Query. Use the Instance option to extract the part of the value that matches the XPath expression. The instance number given is used to select the occurrence if there are multiple matches. |
JSONPath Query | Store | Scalar, Message-based | Store the result of performing a JSONPath query on
the JSON in the selected field. Use the Match option to store a boolean indicating whether the JSONPath expression matched any part of the value. Use the Data option to store the full response or the complete data that is returned by the JSONPath Query. Use the Instance option to extract the part of the value that matches the JSONPath expression. The instance number given is used to select the occurrence if there are multiple matches. |
Available field types
The following list shows the field types that are available in Test Integrations and APIs. When you are using some schema-based formatters, the range of types changes according to the types supported by the formatter.
Field type | Contents |
---|---|
Boolean | True or False |
Byte | 0-255 |
Date-Time | example: 12/22/2005 5:15pm |
Double | 8-byte floating point |
Float | 4-byte floating point |
Integer | 4-byte integer |
IP address | valid IP address in the form nnn.nnn.nnn.nnn |
IPPort | 0-65535 |
Long | 8-byte integer |
Opaque | Array of bytes |
Message | Collection of fields |
Short | 2-byte integer |
String | Arbitrary length string (Default) |
XML | XML content |