Princess Anne, 71, donned a floral overcoat with lilac skirt as she and Vice Admiral Sir Timothy Laurence hosted a garden party at Buckingham Palace for servicemen.