I had the same issue and resolved it with the following snippet:
Result result = ((SoapMessage) message).getSoapHeader().getResult();
webServiceTemplate.getMarshaller().marshal(createCustomHeader(), result);
The createCustomerHeader() method creates a JAXB bean which was generated from the XSD.