Fix message format

The expected message format is:
[message type] ':' [message id ('+')] ':' [message endpoint] (':'[message data])

The existing implementation inserts an extra ':' at the end if there is no data.