Kubernetesで動作するサービスを開発しています。このサービスの機能テストのために、私たちのテストでは、ラップトップ上で実行されているミニキューブにサービスが展開されます。kubernetes minikubeサービスへの接続でjava rest clientがリモートでクローズされました
最も基本的なテストでは、Javaクライアントはサービスのヘルスチェックエンドポイントをpingします。 Javaクライアントは、ジャージーを使用し、単にのようなクライアントを作成します。
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
..
private static final Client CLIENT = ClientBuilder.newClient();
The request fails with;
2017-08-04 13:57:55.202 WARNING [PingTest] Remotely closed
2017-08-04 13:57:55.206 INFO [system.err] javax.ws.rs.ProcessingException: Remotely closed
2017-08-04 13:57:55.207 INFO [system.err] at org.glassfish.jersey.grizzly.connector.GrizzlyConnector.apply(GrizzlyConnector.java:260)
2017-08-04 13:57:55.207 INFO [system.err] at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:252)
2017-08-04 13:57:55.208 INFO [system.err] at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684)
..
しかし、私はカールやポストマンから直接minikubeで実行されている同じエンドポイントを呼び出すことができます。
3つの別のクライアントから送信された要求は、(ユーザーエージェントを除く)基本的に同じである:
--POSTNAME--
GET /20170101/health HTTP/1.1
cache-control: no-cache
Postman-Token: f899c540-e93a-479b-9e8b-c58e356140d7
User-Agent: PostmanRuntime/6.2.5
Accept:/
Host: localhost:31081
accept-encoding: gzip, deflate
Connection: keep-alive
--CURL--
GET /20170101/health HTTP/1.1
Host: localhost:31081
User-Agent: curl/7.54.0
Accept:/
--JAVA TEST--
GET /20170101/health HTTP/1.1
User-Agent: Jersey/2.24.1 (Async HTTP Grizzly Connector 2.24.1)
Host: localhost:31081
Connection: keep-alive
Accept:/
私はカールやポストマンからではなく、Javaからエンドポイントにアクセスできる理由の任意のアイデアクライアント?
読み取り可能なコードで完全なスタックトレースを投稿してください – CodeIsLife
ここにスタックトレースがあります。 – tiwatso
2017-08-04 16:56:17.592 INFO [system.err] javax.ws.rs.ProcessingException:リモートで閉じた 2017-08-04 16:56:17.594 INFO [system.err] \t at org.glassfish。 jersey.grizzly.connector.GrizzlyConnector.apply(GrizzlyConnector.java:260) 2017-08-04 16:56:17.594 INFO [system.err] \t at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java) :252) 2017-08-04 16:56:17.595 INFO [system.err] \t at org.glassfish.jersey.client.JerseyInvocation $ 1.call(JerseyInvocation.java:684) ... – tiwatso