find routing area according routing area id (default) or routing area name
        :param ra_id: routing area id
        :param ra_name: routing area name
        :return: found routing area or None

def find_routing_area(ra_id=None, ra_name=None):
        """
        find routing area according routing area id (default) or routing area name
        :param ra_id: routing area id
        :param ra_name: routing area name
        :return: found routing area or None
        """
        LOGGER.debug("RoutingAreaService.find_routing_area")
        if (ra_id is None or not ra_id) and (ra_name is None or not ra_name):
            raise exceptions.ArianeCallParametersError('id and name')

        if (ra_id is not None and ra_id) and (ra_name is not None and ra_name):
            LOGGER.warn('RoutingAreaService.find_routing_area - Both id and name are defined. '
                        'Will give you search on id.')
            ra_name = None

        params = None
        if ra_id is not None and ra_id:
            params = {'id': ra_id}
        elif ra_name is not None and ra_name:
            params = {'name': ra_name}

        ret = None
        if params is not None:
            args = {'http_operation': 'GET', 'operation_path': 'get', 'parameters': params}
            response = RoutingAreaService.requester.call(args)
            if response.rc == 0:
                ret = RoutingArea.json_2_routing_area(response.response_content)
            elif response.rc != 404:
                err_msg = 'RoutingAreaService.find_routing_area - Problem while finding routing area (id:' + \
                          str(ra_id) + ', name:' + str(ra_name) + '). ' + \
                          'Reason: ' + str(response.response_content) + '-' + str(response.error_message) + \
                          " (" + str(response.rc) + ")"
                LOGGER.warning(
                    err_msg
                )

        return ret