private Location getLocation(long lat, long lon) { Location loc = new Location(); GeoCode geoCode = new GeoCode(); geoCode.setLatitude((double) lat / DM5); geoCode.setLongitude((double) lon / DM5); loc.setGeoCode(geoCode); return loc; }
@Monitor( server = WHETHER_SERVER, parserClass = ServiceUrlParserFactory.CLASS_PROPERTIES, filePath = "config/web_services.properties", serviceUrlKeys = "URL_WEATHER") private DetectResult monitorWhetherServer() { DetectResult result = new DetectResult(); WeatherServiceStub stub = null; try { I18NWeatherServiceRequestDTO request = new I18NWeatherServiceRequestDTO(); request.setClientName("6x-cserver"); request.setClientVersion("1.0"); request.setTransactionId("unknown"); Location location = new Location(); com.telenav.ws.datatypes.address.GeoCode latLon = new com.telenav.ws.datatypes.address.GeoCode(); latLon.setLatitude(37.37515); latLon.setLongitude(-121.99769); location.setGeoCode(latLon); request.setLocation(location); request.setNumberOfDays(2); stub = new WeatherServiceStub(WebServiceConfigurator.getUrlOfWeather()); I18NWeatherServiceResponseDTO response = stub.getI18NCurrentNForecast(request); String statusCode = response.getResponseStatus().getStatusCode(); String statusMessage = response.getResponseStatus().getStatusMessage(); if ("OK".equals(statusCode)) { result.isSuccess = true; } else { result.isSuccess = false; result.msg = "StatusCode = " + statusCode + ", StatusMessage = " + statusMessage; } } catch (Exception e) { logger.fatal("#monitorWhetherServer", e); result.isSuccess = false; result.msg = "Exception occurs when getI18NCurrentNForecast" + ". Exception msg->" + ExceptionUtil.collectExceptionMsg(e); } finally { if (stub != null) { WebServiceUtils.cleanupStub(stub); } } return result; }