Direct calculation of the boundary S-matrix for the open Heisenberg chain