• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

java.net.SocketException: Connection reset while reading a large file

 
Deepthi Musunuru
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We have built java based REST Webservices for the mobile app to interact with Sharepoint server. We are hosting webservices on weblogic server. Textual data is transferred in JSON format and file assets are transferred to iPad application as a binary stream. We are using HTTP GET to retrieve the file asset from the sharepoint. We have been noticing issues while trying to retrieve file assets which are greater than 20MB and only in production environment.

For files greater than 20MB, we have been noticing java.net.SocketException:Connection reset or java.net.SocketException: Socket closed depending on when the socket is closed.

We are using Apache HTTPClient 4.2 as http client and apache commons IO library for IO copy.

Below is the code -


This is only happening in production and uat environments where we cannot have wireshark installed to debug this further. Have validated the sharepoint setting and weblogic settings and they are same as other environments.

Below is the stack trace of the error -

Thanks!
 
Luan Cestari
Ranch Hand
Posts: 163
C++ Redhat Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The connection reset comes from the client side (not the server you are getting the date), which means a stale object/connection. I saw that the CloseShieldInputStream ( http://grepcode.com/file/repo1.maven.org/maven2/commons-io/commons-io/2.0.1/org/apache/commons/io/input/CloseShieldInputStream.java ) doesn't close the connection, so you need to close the contentStream in the finally block.

Best regards,
Luan
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic