Handles service calls and exception management for service calls
        to the Serverless Application Repository.

        :param lambda service_call_lambda: lambda function that contains the service call
        :param string logical_id: Logical ID of the resource being processed
        :param list *args: arguments for the service call lambda

def _sar_service_call(self, service_call_lambda, logical_id, *args):
        """
        Handles service calls and exception management for service calls
        to the Serverless Application Repository.

        :param lambda service_call_lambda: lambda function that contains the service call
        :param string logical_id: Logical ID of the resource being processed
        :param list *args: arguments for the service call lambda
        """
        try:
            response = service_call_lambda(*args)
            logging.info(response)
            return response
        except ClientError as e:
            error_code = e.response['Error']['Code']
            if error_code in ('AccessDeniedException', 'NotFoundException'):
                raise InvalidResourceException(logical_id, e.response['Error']['Message'])

            # 'ForbiddenException'- SAR rejects connection
            logging.exception(e)
            raise e