16 Transformation Type
This topic provides the information about the transformation types.
Velocity
Note:
In Routing Hub, velocity is used to generate JSON and XML files.- Using $body, user can access request/response body.
Syntax: $body.fieldName
Example: $body.branchCode
- Using $headers, user can access request/response headers.
Syntax: $headers["fieldName"][0]
Example: $headers["branchCode"][0]
- Using $bodyAsString, user can access response body as string.
Syntax: $bodyAsString
- Below are some available extension methods:
- Date Conversion
Syntax: $dateUtil.convert(inputDate, fromPattern, toPattern)
Parameters:- inputDate - String
- fromPattern - String
- toPattern - String
Returns: String
Refer to https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html for different patterns
- Default Value
Syntax: $custom.defaultValue(inputValue, defaultValue)
Parameters:- inputValue - Object
- defaultValue - String
Returns: Object
- Null Check
Syntax: $custom.isNull(inputValue)
Parameters:- inputValue - Object
Returns: Boolean
- Random Number
Syntax: $mathUtil.getRandom()
Returns: Object of Random class (java.util.Random)
- Xml Tool
Syntax: $xml.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/XmlTool.html
- Date Tool
Syntax: $date.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/DateTool.html
- Json Tool
Syntax: $json.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/JsonTool.html
- Math Tool
Syntax: $math.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/MathTool.html
- Number Tool
Syntax: $number.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/NumberTool.html
- Escape Tool
Syntax: $esc.methodName()
Refer to https://velocity.apache.org/tools/3.1/apidocs/org/apache/velocity/tools/generic/EscapeTool.html
- Serialization of object into its equivalent Json representation
Syntax: $custom.toJson(src)
Parameters:- src - Object
Returns: String
- Get additional field's value based on fieldname
Syntax: $custom.getFieldValueById(jsonString, fieldname)
Parameters:- jsonString – String
- fieldname - String
Returns: String
- Get list of additional fields based on fieldname prefix
Syntax: $custom.getAdditionalFieldSetByType(jsonString,prefixval)
Parameters:- jsonString - String
- prefixval - String
Returns: String
- This method is for parsing XML string
Syntax: $custom.parseXml(xmlString)
Parameters:- xmlString - String
Returns: Object
- Date Conversion
- If issue occurred with hyphen in velocity template of Request or Response Transformation, then use get method.
Example:
<FCUBS_BODY> <Customer-IO> <CUSTNO>003942</CUSTNO> </Customer-IO> </FCUBS_BODY>
If
$in.FCUBS_BODY.Customer-IO.CUSTNO
does not work , use$in.FCUBS_BODY.get("Customer-IO").CUSTNO
to get customer number.
XSLT
XSLT is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL formatting objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG.
Note:
In Routing Hub, XSLT is used to transform arbitrary XML to JSON.