def METHOD_NAME(self, remote_ip):
    print "Super-Gluu. Determine remote location. remote_ip: '%s'" % remote_ip
    httpService = CdiUtil.bean(HttpService)
    http_client = httpService.getHttpsClient()
    http_client_params = http_client.getParams()
    http_client_params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 15 * 1000)
    geolocation_service_url = "http://ip-api.com/json/%s?fields=520191" % remote_ip
    geolocation_service_headers = { "Accept" : "application/json" }
    try:
        http_service_response = httpService.executeGet(http_client, geolocation_service_url,  geolocation_service_headers)
        http_response = http_service_response.getHttpResponse()
    except:
        print "Super-Gluu. Determine remote location. Exception: ", sys.exc_info()[1]
        return None
    try:
        if not httpService.isResponseStastusCodeOk(http_response):
            print "Super-Gluu. Determine remote location. Get invalid response from validation server: ", str(http_response.getStatusLine().getStatusCode())
            httpService.consume(http_response)
            return None
        response_bytes = httpService.getResponseContent(http_response)
        response_string = httpService.convertEntityToString(response_bytes)
        httpService.consume(http_response)
    finally:
        http_service_response.closeConnection()
    if response_string == None:
        print "Super-Gluu. Determine remote location. Get empty response from location server"
        return None
    response = json.loads(response_string)
    if not StringHelper.equalsIgnoreCase(response['status'], "success"):
        print "Super-Gluu. Determine remote location. Get response with status: '%s'" % response['status']
        return None
    return response