# Name or service not known in java RestHighLevelClient

**URL:** <https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [August 23, 2023, 2:12am UTC](https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415 "2023-08-23T02:12:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChiMu\_Yuan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chimu_yuan/32/123166_2.png) [@ChiMu\_Yuan](https://discuss.elastic.co/u/ChiMu_Yuan)\
**Post date:** [August 23, 2023, 2:12am UTC](https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415/1 "2023-08-23T02:12:57Z")

</div>

Hi, everyone.  
I am using the `Elasticsearch High Level REST client` to access the service, but I am getting an error `Name or service not known`. However, I can successfully access the service using curl. Since I upgraded from an older version to 7.17 and I am using the Rest High Client as a transitional solution, I'm encountering this strange issue and I'm unsure how to resolve it.

Thank you

JDK 17  
SpringBoot 3.1.2  
elasticsearch 7.17.12  
elasticsearch-rest-high-level-client 7.17.12

error :

```auto
java.net.UnknownHostException: http://127.0.0.1:9200: Name or service not known
	at java.base/java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]
	at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:934) ~[na:na]
	at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1543) ~[na:na]
	at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852) ~[na:na]
	at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1533) ~[na:na]
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1385) ~[na:na]
	at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1306) ~[na:na]
	at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient-4.5.13.jar!/:4.5.13]
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:666) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager$InternalAddressResolver.resolveRemoteAddress(PoolingNHttpClientConnectionManager.java:637) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.nio.pool.AbstractNIOConnPool.processPendingRequest(AbstractNIOConnPool.java:472) ~[httpcore-nio-4.4.16.jar!/:4.4.16]
	at org.apache.http.nio.pool.AbstractNIOConnPool.lease(AbstractNIOConnPool.java:280) ~[httpcore-nio-4.4.16.jar!/:4.4.16]
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.requestConnection(PoolingNHttpClientConnectionManager.java:295) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.client.AbstractClientExchangeHandler.requestConnection(AbstractClientExchangeHandler.java:381) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.start(DefaultClientExchangeHandlerImpl.java:130) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase.execute(CloseableHttpAsyncClientBase.java:116) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.apache.http.impl.nio.client.InternalHttpAsyncClient.execute(InternalHttpAsyncClient.java:138) ~[httpasyncclient-4.1.5.jar!/:4.1.5]
	at org.elasticsearch.client.RestClient.lambda$performRequestAsync$0(RestClient.java:393) ~[elasticsearch-rest-client-8.7.1.jar!/:8.7.1]
	at org.elasticsearch.client.Cancellable$RequestCancellable.runIfNotCancelled(Cancellable.java:90) ~[elasticsearch-rest-client-8.7.1.jar!/:8.7.1]
	at org.elasticsearch.client.RestClient.performRequestAsync(RestClient.java:391) ~[elasticsearch-rest-client-8.7.1.jar!/:8.7.1]
	at org.elasticsearch.client.RestClient.performRequestAsync(RestClient.java:378) ~[elasticsearch-rest-client-8.7.1.jar!/:8.7.1]
	at org.elasticsearch.client.RestHighLevelClient.getVersionValidationFuture(RestHighLevelClient.java:2735) ~[elasticsearch-rest-high-level-client-7.17.12.jar!/:8.7.1]
	at org.elasticsearch.client.RestHighLevelClient.performClientRequest(RestHighLevelClient.java:2692) ~[elasticsearch-rest-high-level-client-7.17.12.jar!/:8.7.1]
..........

```

java config:

```auto
    @Autowired
    private ElasticsearchProperties elasticsearchProperties;

    @Bean
    public RestHighLevelClient restHighLevelClient() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(
                AuthScope.ANY,
                new UsernamePasswordCredentials(
                        elasticsearchProperties.getUsername(), elasticsearchProperties.getPassword()
                )
        );

        return new RestHighLevelClient(
                RestClient.builder(
                                new HttpHost("http://" + elasticsearchProperties.getUris().get(0))
                        )
                        .setHttpClientConfigCallback(
                                httpAsyncClientBuilder ->
                                        httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider)
                        )
        );
    }

```

application.yml:

```auto
spring:
  elasticsearch:
    uris: 127.0.0.1:9200
    username: elastic
    password: 123123123123

```

Thank you

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [August 23, 2023, 10:50am UTC](https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415/2 "2023-08-23T10:50:06Z")

</div>

I think that this is wrong:

```
new HttpHost("http://" + elasticsearchProperties.getUris().get(0))
                    )

```

Try something like:

```
HttpHost.create(elasticsearchServiceAddress)

```

---

<div class="post-metadata">

**Author:** ![ChiMu\_Yuan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chimu_yuan/32/123166_2.png) [@ChiMu\_Yuan](https://discuss.elastic.co/u/ChiMu_Yuan)\
**Post date:** [August 24, 2023, 3:52am UTC](https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415/3 "2023-08-24T03:52:37Z")

</div>

yep, lol  
This is an careless mistake, my fault.  
I thought that by providing the complete URL to `HttpHost` , it would help me split out the scheme, port, and hostname. However, upon examining the source code, it appears that only the hostname is being extracted.

The correct way is

```auto
new HttpHost(hostname, port, scheme)

```

Thank you again.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 21, 2023, 3:52am UTC](https://discuss.elastic.co/t/name-or-service-not-known-in-java-resthighlevelclient/341415/4 "2023-09-21T03:52:40Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
