After one case that breaks, we discover one little bug when catching data for SoapHeaders from schemas. Indeed, the namespace was wrong and the name of the parameter too. We made sure data are retrieved from the right WSDL attributes and that each SoapHeader is well defined in the Service class.
Put setSoapHeader method in the *WsdlClass so each Service class can call it which simplifies its definition