Soldier, lieutenant, having shiny coat (4)
I believe the answer is:
gilt
'shiny coat' is the definition.
(I've seen this in another clue)
'soldier lieutenant' is the wordplay.
'soldier' becomes 'GI' (term for US soldier).
'lieutenant' becomes 'lt' (abbreviation for lieutenant).
'gi'+'lt'='GILT'
'having' acts as a link.
(Other definitions for gilt that I've seen before include "Gold-coloured coating" , "Sow" , "Golden" , "Coating that looks like gold" , "Bond" .)