diff --git a/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java b/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java index 6e4abe06d7..4e693dd329 100644 --- a/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java +++ b/aliyun-java-sdk-core/src/main/java/com/aliyuncs/endpoint/DefaultEndpointResolver.java @@ -46,16 +46,20 @@ public DefaultEndpointResolver( if (StringUtils.isEmpty(locationServiceApiVersion)) { locationServiceApiVersion = System.getenv("ALIBABA_CLOUD_LOCATION_SERVICE_API_VERSION"); } - if (!StringUtils.isEmpty(locationServiceEndpoint) && !StringUtils.isEmpty(locationServiceApiVersion)) { - resolverChain.add(new LocationServiceEndpointResolver(client, - locationServiceEndpoint, - locationServiceApiVersion)); - } else if (profile.isUsingInternalLocationService()) { - resolverChain.add(new LocationServiceEndpointResolver(client, - "location-inner.aliyuncs.com", - "2015-12-25")); - } else { - resolverChain.add(new LocationServiceEndpointResolver(client)); + boolean locationServiceDisabled = Boolean.parseBoolean( + System.getenv("ALIBABA_CLOUD_LOCATION_SERVICE_DISABLED")); + if (!locationServiceDisabled) { + if (!StringUtils.isEmpty(locationServiceEndpoint) && !StringUtils.isEmpty(locationServiceApiVersion)) { + resolverChain.add(new LocationServiceEndpointResolver(client, + locationServiceEndpoint, + locationServiceApiVersion)); + } else if (profile.isUsingInternalLocationService()) { + resolverChain.add(new LocationServiceEndpointResolver(client, + "location-inner.aliyuncs.com", + "2015-12-25")); + } else { + resolverChain.add(new LocationServiceEndpointResolver(client)); + } } insideEndpointResolver = new ChainedEndpointResolver(resolverChain);