It is a common requirement (e.g. for search-replace operations on strings) to create characters that are non-printable, which also means there is no obvious way to type them in. In my case the situation was that I had to convert end-of-line characters created on a Windows system (
CR+LF) to Linux (
LF only) for some unit tests to pass.
On webMethods Integration Server you have two options to do this. The first is to create a small Java service, which has the down-side that some people shy away from it. (I have even seen organizations that pretty much forbid them, which is probably a bit extreme.) The second way is to have a Flow service (Integration Server’s graphical programming language), which is what I demonstrate here.
So how do I create a
LF character? For this you can use the
pub.string:URLDecode service with “
%0a” (without double-quotes) as input, which is simply the character with ASCII number 10 (
And then you simply perform a replace operation using the
pub.string:replace service and tell it to replace all
CR+LF occurrences with
LF. The search part is done best with a regular expression, in this case “
\r\n” (again without the double-quotes). And don’t forget to set