wsdl refactoring into 2 separate files

this removes nested classes inside functions to
enable the removal of the type register