def map_controllers(action = 'select')
      res = @routes.send(action) do |hash|
        if hash[:route].present? && route_can_generate_wsdl?(hash[:route])
          yield hash if hash.present? && block_given?
        end
      end
      res = res.compact.uniq{|hash| hash[:route] } if action == 'select'
      res
    end
def map_controllers(action = 'select')
      res = @routes.send(action) do |hash|
        if hash[:route].present? && route_can_generate_wsdl?(hash[:route])
          yield hash if hash.present? && block_given?
        end
      end
      res = res.compact.uniq{|hash| hash[:route] } if action == 'select'
      res
    end
method for getting all controllers that have the generate wsdl action or finding out
 if a single controller is a soap service
 @see #route_can_generate_wsdl?

 @param [String] action The action is used to collect or find a particular route . Can only be *map* or *detect*

 @yield [ActionDispatch::Journey::Route] yield each route to the block while iterating through the routes

 @return [ActionDispatch::Journey::Route, Array<ActionDispatch::Journey::Route>] Can return either a collection of routes or a single route depending on the action

 @api private