RestEasy ContainerRequestContext.abortWith在客户端生成java.io.IOException
我正在使用RESTEasy开发简单的RESTAPI。以下是我正在使用的依赖项RestEasy ContainerRequestContext.abortWith在客户端生成java.io.IOException,java,resteasy,Java,Resteasy,我正在使用RESTEasy开发简单的RESTAPI。以下是我正在使用的依赖项 <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.6.0.Final</version> </dependency> <dependency&
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.6.0.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>3.6.0.Final</version>
</dependency>
但是当我从curl转到java时,挫折感就来了。如果未达到请求限制,则一切正常。但当无法处理请求而不是状态503时,我收到java.io.IOException:写入服务器时出错
java.io.IOException: Error writing to server
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:665)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:677)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1533)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at Main.uploadPOJO(Main.java:135)
at Main.main(Main.java:49)
正如我所说,如果没有达到限制,java客户端工作正常,因此假设代码没有问题。如果需要的话,我会稍后再发。我还尝试了Appche HTTPClient,得到了相同的结果,但有不同的异常
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
最后我的问题是:为什么curl能够处理这个场景而java不能?最重要的是,我如何在java中获得正确的状态
提前感谢。为什么不抛出新的WebApplicationException(Status.SERVICE\u UNAVAILABLE),而不是中止请求。Curl可能正在查看标头,而您连接的客户端需要响应流。@ashrafaliwahab我尝试过,但结果相同。
java.io.IOException: Error writing to server
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:665)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:677)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1533)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at Main.uploadPOJO(Main.java:135)
at Main.main(Main.java:49)
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)