When you convert a legacy message map that includes ESQL
mapping functions, the conversion process converts some ESQL functions
to equivalent XPath 2.0 functions (fn:functionName),
or to cast type functions (xs:type). A Task transform
is added to your converted map when there is no automatic conversion
for an ESQL function.
Procedure
Check the conversion process behavior when you convert
a legacy message map to a message map that includes ESQL mapping
functions:
- When a legacy message map includes
calls to predefined ESQL mapping functions, each ESQL function
call is converted to an XPath expression, cast type function,
or to a Custom XPath transform in the
converted map. For each expression, xs:type function,
or Custom XPath transform in the converted
map, complete the following steps:
- Check that the expression, xs:type function,
or Custom XPath transform re-creates
the required behavior.
If your ESQL
mapping function has optional input parameters, you must implement
conditions to handle this situation. By default, the conversion
process assumes that all input parameters are mandatory.
- For each expression, xs:type function,
or transform, check that the correct number of inputs is connected.
In earlier releases of WebSphere® Message
Broker Version 8, the number of
inputs wired to a transform and required to implement a transformation
in a legacy message map was not
enforced. When the Graphical
Data Mapping editor converts
a transform that includes an ESQL mapping function, it creates
an XPath function that conforms to the XPath 2.0 specification,
and wires the input elements to the transform as defined in
the legacy message map. As a result,
a converted map might have more inputs than the XPath expression
requires, or less inputs than the ones required to perform
the calculation. Consequently, the converted map will fail
to run when you deploy it.
- If there is no XPath equivalent of an ESQL mapping function,
the function is replaced with a Task transform
in your converted map. You must replace each of these Task transforms
with a Custom XPath transform, a Custom
Java transform, or a Custom ESQL transform
that re-creates the required behavior.
- Check the Documentation properties
of the transform in the converted map for more information
on how the ESQL function was implemented in your legacy message map.
The following ESQL mapping functions that you can use
in a legacy message map have no
XPath equivalent in message
maps:
- Certain mathematical functions:
- ACOS
- ASIN
- ATAN
- ATAN2
- BITAND
- BITNOT
- BITOR
- BITXOR
- COS
- COSH
- COT
- DEGREES
- EXP
- LN
- LOG
- LOG10
- MOD
- POWER
- RADIANS
- RAND
- SIGN
- SIN
- SINH
- SQRT
- TAN
- TANH
- Decimal function:
- Certain String functions:
- Certain field functions:
- ABITSTREAM
- BITSTREAM
- SAMEFIELD
- Certain date time functions:
- TIMESTAMP
- CURRENT-GMTDATE
- CURRENT-GMTTIME
- CURRENT-GMTTIMESTAMP
- All INTERVAL- functions
- The ESQL LIKE function
- The ESQL FOLLOWING form of the ESQL POSITION function
- All SQL functions
- The UUIDASCHAR and UUIDASBLOB functions
What to do next
Continue converting your legacy message map. For more information,
see Converting a message map from a .msgmap file to a .map file.