java - 尝试使用 Jersey Client API 执行 POST 请求时出现“已连接”异常

标签 java jersey client jboss-arquillian

我正在使用 arquillian 为部署在 Tomcat 8 上的 JAX-RS/Jersey Web 服务创建集成测试。

我正在尝试执行这样的 POST 请求:

E dummy = dummyFactory.manufacturePojo(getSubClassType());
dummy.setId(null);

Client client = ClientBuilder.newClient();
WebTarget target = client.target(BASE_URI).path("bandeira");

Response response = target.request(MediaType.APPLICATION_JSON)
            .header(HttpHeaders.AUTHORIZATION, CHAVE_TESTE)
            .header(HttpHeaders.CONTENT_TYPE, "application/json")
            .post(Entity.entity(dummy, MediaType.APPLICATION_JSON));

当我这样做时,我得到了这个异常:

Caused by: java.lang.IllegalStateException: Already connected
at sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:3000)
at org.glassfish.jersey.client.HttpUrlConnector.setOutboundHeaders(HttpUrlConnector.java:364)
at org.glassfish.jersey.client.HttpUrlConnector.access$100(HttpUrlConnector.java:91)
at org.glassfish.jersey.client.HttpUrlConnector$4.getOutputStream(HttpUrlConnector.java:327)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:201)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:195)
at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:263)
at org.glassfish.jersey.message.internal.OutboundMessageContext.commitStream(OutboundMessageContext.java:816)
at org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:546)
at org.glassfish.jersey.client.HttpUrlConnector._apply(HttpUrlConnector.java:331)
at org.glassfish.jersey.client.HttpUrlConnector.apply(HttpUrlConnector.java:243)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246)
... 149 more

我可以使用一些启发式方法,因为我仍在学习 arquillian 和 Jersey 客户端 API :) 谢谢

最佳答案

可能是 java.lang.IllegalStateException: Already connected 只屏蔽了 SSLHandshakeException。请看issue #3000 (以前称为 JERSEY-2728 错误)。

关于java - 尝试使用 Jersey Client API 执行 POST 请求时出现“已连接”异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28951667/

相关文章:

java - 如何将 java.io.File 转换为 java.lang.Class

java - TestNG 和 JUnit 执行之间的区别

java - 在命令行中找不到 MIME 媒体类型 application/xml,但在 Eclipse 中可以工作

java - 我如何在 java 中运行 .jar 文件

java - GL绘图纹理绑定(bind)错误

java - 使用 Jersey 在 Java 中发布 JSON 时出现 415 错误

java - 如何使用 ApacheConnector 在 Jersey 2 中选择密码套件?

c - 发送 HTTP 请求并在 C 中获得响应时出现段错误

api - 错误 Telegram ID 和哈希 "Incorrect app name&#33"

bash - 收到服务器响应后如何关闭netcat连接?