別のサーバーで REST API への RestTemplate 呼び出しを実行しようとしているコードがいくつかあります。
String url = "http://$authUrl:$authPort/cdpe/users/current";
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.add("Cookie", rdgLogin.getName() + "=" + rdgLogin.getValue());
requestHeaders.add("Cookie", jsessionId.getName() + "=" + jsessionId.getValue());
RestTemplate restTemplate = new RestTemplate();
HttpEntity requestEntity = new HttpEntity(null, requestHeaders);
ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
サーバーは、ポート 8080 の別のマシン「restserver」で稼働しています。サーバーが稼働しており、接続を待機していることを確認しました。
上記のコードを実行すると、ConnectionRefused 例外が発生します。接続が拒否されましたhttp://restserver:8080/cdpe/users/current。通常、これは URL が間違っているか、サーバーが実行されていないことを意味します。ただし、同じマシンで同じ URL を使用して curl コマンドを実行できます。
curl http://restserver:8080/cdpe/users/current
と、返事が返ってきます。これにより、RestTemplate 呼び出しに何か問題があると思われます。また、レストサーバーと同じマシンで同じコードを実行でき、正しく動作します。私が間違っていることは何か分かりますか?