From 9ef10c98382223662bb21e05785992165af19ca6 Mon Sep 17 00:00:00 2001 From: Petri Tuomola Date: Wed, 26 Aug 2020 15:15:27 +0300 Subject: [PATCH] FINERACT-1088: Fixing error message from SMS campaigns --- ...ampaignDropdownReadPlatformServiceImpl.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignDropdownReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignDropdownReadPlatformServiceImpl.java index 4f564e0ed..61e5df6d2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignDropdownReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignDropdownReadPlatformServiceImpl.java @@ -43,6 +43,7 @@ import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestTemplate; @Service @@ -72,17 +73,24 @@ public class SmsCampaignDropdownReadPlatformServiceImpl implements SmsCampaignDr @Override public Collection retrieveSmsProviders() { Collection smsProviderOptions = new ArrayList<>(); - String hostName = ""; Map hostConfig = this.smsConfigUtils.getMessageGateWayRequestURI("smsbridges", null); URI uri = (URI) hostConfig.get("uri"); - hostName = uri.getHost(); HttpEntity entity = (HttpEntity) hostConfig.get("entity"); - ResponseEntity> responseOne = restTemplate.exchange(uri, HttpMethod.GET, entity, - new ParameterizedTypeReference>() {}); - if (!responseOne.getStatusCode().equals(HttpStatus.OK)) { + + ResponseEntity> responseOne = null; + + try { + responseOne = restTemplate.exchange(uri, HttpMethod.GET, entity, + new ParameterizedTypeReference>() {}); + } catch (ResourceAccessException ex) { + LOG.debug("Mobile service provider {} not available", uri, ex); + } + + if (responseOne == null || !responseOne.getStatusCode().equals(HttpStatus.OK)) { throw new PlatformDataIntegrityException("error.msg.mobile.service.provider.not.available", "Mobile service provider not available."); } + smsProviderOptions = responseOne.getBody(); return smsProviderOptions; }