Parameter name | Description | Possible values | Default value / behaviour | Mandatory or optional |
---|---|---|---|---|
xpath | XPath expression that shall extract required payload element’s value for dynamic sequence ID | String value containing valid XPath | Mandatory | |
error.terminate | Terminate execution of the module if sequence ID cannot be set, causing also termination of further message processing by a channel. Not recommended to be disabled if dynamic sequence ID generation is a must | Boolean or Boolean equivalents (case insensitive):
| true (enabled) | Optional |
sequenceId.deleteLeadingCharacter | Delete leading characters from the extracted value for the specified XPath expression | Boolean or Boolean equivalents (case insensitive):
| false (disabled) | Optional |
sequenceId.leadingCharacter | Leading character | String value containing 1 character | Optional | |
sequenceId.replaceInvalidCharacters | Replace all invalid (not alphanumeric) characters from the constructed sequence ID with underscore symbol ('_') | Boolean or Boolean equivalents (case insensitive):
| false (disabled) | Optional |
sequenceId.truncate | Truncate constructed sequence ID so that its length does not exceed restrictions applicable for sequence ID (which is, 16 characters) – truncation can be either done to trim beginning of the value or its end. If the value retrieved using the specified XPath, is object identifier (e.g. customer number, sales order number, employee ID) that is iteratively increased for every subsequent instance of an object (e.g. sender system uses number range object for it), then truncation from start may be preferable, leaving a value part varying between closely following instances of objects | Below values are accepted (case insensitive), all others are ignored:
| (disabled) | Optional |
sequenceId.prefix | Fixed prefix value for a constructed sequence ID, which will be delimited from remaining sequence ID value part with uderscore symbol ('_'). Shall not normally contain many characters since it may negatively impact overall length of the constructed sequence ID - optimum is 2-3 characters. From perspective of impact on total sequence ID value length, it is not recommended to use prefix and suffix at the same time. Note that if truncation is enabled for start of the value, prefix may become truncated | String value | (disabled) | Optional |
sequenceId.suffix | Fixed suffix value for a constructed sequence ID, which will be delimited from remaining sequence ID value part with uderscore symbol ('_'). Shall not normally contain many characters since it may negatively impact overall length of the constructed sequence ID - optimum is 2-3 characters. From perspective of impact on total sequence ID value length, it is not recommended to use prefix and suffix at the same time. Note that if truncation is enabled for end of the value, suffix may become truncated | String value | (disabled) | Optional |
<test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
<Object>
<ID>00012345</ID>
<Text>Test message</Text>
</Object>
</test:GenericObjects>
<test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'>
<Object>
<ID>0000012345:test-obj</ID>
<Text>Test message</Text>
</Object>
</test:GenericObjects>
Module parameterization | Incoming message payload | Determined sequence ID / error | Comments |
---|---|---|---|
(no module parameterization provided) | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | ModuleException: One or several required adapter module parameters are missing or incorrect | Mandatory parameter 'xpath' is missing |
error.terminate = 0 | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | DEMO | Mandatory parameter 'xpath' is missing, but termination on error is disabled, so channel default configuration (fixed queue name) is used |
xpath = /GenericObjects/ID | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | ModuleException: Failure while attempting to set sequence ID | Application of the specified XPath to message payload didn't yield to extraction of any value |
xpath = /GenericObjects/Object/ID | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 00012345 | |
xpath = /GenericObjects/Object/ID | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00000000000000012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | ModuleException: Failure while attempting to set sequence ID | Constructed sequence ID length is larger than acceptable limit (16 characters) |
xpath = /GenericObjects/Object/ID error.terminate = False | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00000000000000012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | DEMO | Constructed sequence ID length is larger than acceptable limit (16 characters), but termination on error is disabled, so channel default configuration (fixed queue name) is used |
xpath = /GenericObjects/Object/ID | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> <Object> <ID>00098765</ID> <Text>Test message 2</Text> </Object> </test:GenericObjects> | ModuleException: Failure while attempting to set sequence ID | Multiple different (distinct) values were retrieved from the message’s payload using specified XPath |
xpath = /GenericObjects/Object/ID multipleValues.error = no | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> <Object> <ID>00098765</ID> <Text>Test message 2</Text> </Object> </test:GenericObjects> | 00012345 | Multiple different (distinct) values were retrieved from the message’s payload using specified XPath, but termination for such cases is disabled, so the first of those values was used when constructing sequence ID |
xpath = /GenericObjects/Object/ID sequenceId.deleteLeadingCharacter = true sequenceId.leadingCharacter = 0 | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 12345 | |
xpath = /GenericObjects/Object/ID sequenceId.deleteLeadingCharacter = true sequenceId.leadingCharacter = 00 | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 00012345 | Leading characters were not deleted, because incorrect value was specified in parameter 'sequenceId.leadingCharacter' (multiple characters instead of an expected one leading character) |
xpath = /GenericObjects/Object/ID sequenceId.deleteLeadingCharacter = true | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 00012345 | Leading characters were not deleted, because leading character was not specified was not specified (parameter 'sequenceId.leadingCharacter' missing) |
xpath = /GenericObjects/Object/ID sequenceId.truncate = start | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 00012345 | Determined sequence ID value is already less than 16 characters long, so its truncation is not required and was skipped |
xpath = /GenericObjects/Object/ID sequenceId.truncate = end | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>TEST_OBJECT_123456789</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | TEST_OBJECT_1234 | |
xpath = /GenericObjects/Object/ID sequenceId.truncate = begin | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>TEST_OBJECT_123456789</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | ModuleException: Failure while attempting to set sequence ID | Incorrect value specified for parameter 'sequenceId.truncate' (only 'start' and 'end' are valid values) |
xpath = /GenericObjects/Object/ID sequenceId.replaceInvalidCharacters = true | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>TEST%OBJECT-01</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | TEST_OBJECT_01 | |
xpath = /GenericObjects/Object/ID sequenceId.prefix = v | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | V_00012345 | |
xpath = /GenericObjects/Object/ID sequenceId.suffix = r2 | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 00012345_R2 | |
xpath = /GenericObjects/Object/ID sequenceId.deleteLeadingCharacter = yes sequenceId.leadingCharacter = 0 sequenceId.prefix = v sequenceId.suffix = r2 sequenceId.truncate = start | <test:GenericObjects xmlns:test='urn:doc.com/Test' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> <Object> <ID>00012345_TEST_OBJECT</ID> <Text>Test message</Text> </Object> </test:GenericObjects> | 5_TEST_OBJECT_R2 | Even though set initially, prefix, as well as part of the original value retrieved using XPath expression, are truncated, because truncation from start was enabled and constructed sequence ID value after deleting leading symbols and adding prefix and suffix turned to be longer than 16 characters |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
6 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |