0

当我尝试在我的 Service 类中执行一个 get All 方法时,该方法使用一个带有令牌的 feignClient ,这个异常被抛出:

无法调用请求:javax.net.ssl.SSLHandshakeException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

1)THIS IS MY FEIGNCLIENT

@FeignClient(name = "feignClient", url = "https://xxxxx:xxxx")
public interface FeignClientInfluxDB {
    @RequestMapping(method = RequestMethod.GET, value = "/query?db=edms_db&q=SELECT * FROM M_M_table WHERE time > now() - 6m LIMIT 5")
    List<MMEntity> getAllDataFromInfluxDBwithTimeCondiction(
            @RequestHeader(name = "Authorization") String token);
}

2)THIS IS  the METHOD THAT I USE TO TAKE TOKEN FROM KEYCLOAK 
protected String getAuthToken() {
    Keycloak keycloak = KeycloakBuilder.builder().serverUrl(keycloakAuthLinkInflux).realm(keycloakRealmInflux)
            .grantType(OAuth2Constants.CLIENT_CREDENTIALS).clientId(keycloakClientInflux)
            .clientSecret(keycloakClientSecretInflux).build();
    return "Bearer " + keycloak.tokenManager().getAccessTokenString();
}

3)THIS IS THE METHOD ON MY SERVICE CLASS
@Transactional
public List<MMEntity> getAllWithFeignClientWithCondiction(String token) {
    final String methodName = "getAllWithFeignClientWithCondiction()";
    try {
        this.startLog(methodName);

        List<MMEntity> result = new ArrayList<MMEntity>();
        token = getAuthToken();
        result = feignClient.getAllDataFromInfluxDBwithTimeCondiction(token);

        logger.info("Request Successful");

        if (!result.isEmpty()) {
            for (MMEntity mmEntity: result) {

                MMEntityPstgrs mmEntityPstgrs = new MMEntityPstgrs ();

                mmEntityPstgrs = ConvertersUtils
                        .createMMEntityPstgrsFromMMEntity(
                                mmEntity);
                mMDao.save(mMEntityPstgrs);
                logger.info("Table Updated");
            }
        }
        this.endLog(methodName, result);
        return result;
    } catch (final Exception e) {
        this.errorLog(methodName, e);
        throw e;
    }
}

我该怎么做才能解决问题?请帮我

4

0 回答 0