Searches all namespaces for a type by name.

    Args:
      type_localname: The name of the type.

    Returns:
      A fully qualified SOAP type with the specified name.

    Raises:
      A zeep.exceptions.LookupError if the type cannot be found in any
        namespace.

def _DiscoverElementTypeFromLocalname(self, type_localname):
    """Searches all namespaces for a type by name.

    Args:
      type_localname: The name of the type.

    Returns:
      A fully qualified SOAP type with the specified name.

    Raises:
      A zeep.exceptions.LookupError if the type cannot be found in any
        namespace.
    """
    elem_type = None
    last_exception = None
    for ns_prefix in self.zeep_client.wsdl.types.prefix_map.values():
      try:
        elem_type = self.zeep_client.get_type(
            '{%s}%s' % (ns_prefix, type_localname))
      except zeep.exceptions.LookupError as e:
        last_exception = e
        continue
      break
    if not elem_type:
      raise last_exception
    return elem_type