I have a similar issue related to setting up web services. I am using Iomad and have tested this originally in version 3.2 and it worked well. I am deploying a site and started fresh with Iomad 3.4, then tried 3.3 and have reverted to 3.2. I get a similar problem in all versions when attempting to create functions for my web service.
The error I see is:
Exception - Argument 1 passed to external_multiple_structure::__construct() must be an instance of external_description, array given, called in [dirroot]/blocks/iomad_company_admin/externallib.php on line 315