Your problem is caused by making the command line too complex with the quoting.
Do it in steps rather than all in one.
Code:
'{"applicationId":"system1","tranDateTime":"***********","UUID":"**************"}' 'ht*ps://192.168.101.200:1245/HermesSim/getPublicKey'
Is a real pain with the quoting.
Code:
UUID="whatever it is supposed to be"
pt1='{"applicationId":"system1","tranDateTime":"***********","'
pt2='":"**************"}'
res="${p1}${UUID}${p2}"
curl -k -i -H "Content-Type: application/json" -H "X-HTTP-Method-Override: PUT" -X POST -d "${res}"
Should work. This is because quotes are only evaluated once during the assignment so the nested quoting doesn't cause a problem.
The problem is cause by using apostrophe quotes needed to avoid the awkward escaping that would be required for the embedded double quotes... The apostrophe disables substitution within the string.
Doing it in parts (as shown) helps simplify the quoting, and allows you to test things as it goes.