A little longer, but far more flexible, I've always liked
write $translate("DdMmCcYy", "CcYy-Mm-Dd", $zdate($now(), 3))
Just provide the format you want in the first argument.
However, it would be even more helpful to be able to override the default error display. This would need some changes to the dispatch and implementation class generators.
The dispatch class generator would need to call the specific implementation class to format the error, instead of the implementation superclass.
The implementation class generator also (really) needs to be able to accept an override for the implementation superclass via the swagger document (as there is for the dispatch class).
Then the try/catch would not be needed at all, and the default error handling would do everything needed.
This is as of Iris 2022.1. I'm not sure if this has been added in later versions.
Look into using Interoperability. The classes EnsLib.REST.Operation and EnsLib.HTTP.GenericOperation should do what you are looking for depending on if you are calling a REST service or it is plain HTTP
We have several business operations that use EnsLib.REST.Operation, each with pool sizes of between 2 and 60. Providing the http response indicates the connection can be maintained, they will keep the connection open.