Hello,
I want to know if ArcGIS SDK for Java 10.2.4 is still active?
I have an application that run properly up to December, last year (2022). But now, that I need to work on it again it doesn't connect to ArcGIS servers nor displays any map (I didn't change anything on it). The error I get is:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:130)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:127)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:233)
at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:210)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:271)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:227)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:209)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:292)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:126)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:483)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:731)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:709)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:700)
at com.esri.core.internal.io.handler.h.a(Unknown Source)
at com.esri.core.internal.io.handler.h.a(Unknown Source)
at com.esri.core.internal.tasks.ags.t.a(Unknown Source)
at com.esri.core.internal.tasks.ags.t.execute(Unknown Source)
at com.esri.map.Layer.loadServiceInfo(Unknown Source)
at com.esri.map.Layer.getMapServerInfo(Unknown Source)
at com.esri.map.ArcGISTiledMapServiceLayer.internalInit(Unknown Source)
at com.esri.map.Layer$1.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
In the best case, because in other cases it simply doesn't show anything relative to map displaying. I tried the demo samples in the java samplecode ArcGIS_Runtime_Java_Samples.jar but it's the same issue. Up to my understanding my app doesn't receive response when it queries for the TiledMapServiceLayer.
When debugging in my IDE I get the following error messages:
[2023-03-15 13:52:31|INFORMACIÓN]
viewerGIS.InitGISsrv start - Servicio Iniciado en 192.168.143.3:6167
[2023-03-15 13:52:56|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute I/O exception (java.net.SocketException) caught when processing request: Connection reset
[2023-03-15 13:52:56|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute Retrying request
[2023-03-15 13:53:15|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute I/O exception (java.net.SocketException) caught when processing request: Connection reset
[2023-03-15 13:53:15|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute Retrying request
[2023-03-15 13:53:38|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute I/O exception (java.net.SocketException) caught when processing request: Connection reset
[2023-03-15 13:53:38|INFORMACIÓN]
org.apache.http.impl.client.DefaultRequestDirector execute Retrying request
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:130)
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:127)
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:233)
at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:210)
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:271)
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:227)
at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:209)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:292)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:126)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:483)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:731)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:709)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:700)
at com.esri.core.internal.io.handler.h.a(Unknown Source)
at com.esri.core.internal.io.handler.h.a(Unknown Source)
at com.esri.core.internal.tasks.ags.t.a(Unknown Source)
at com.esri.core.internal.tasks.ags.t.execute(Unknown Source)
at com.esri.map.Layer.loadServiceInfo(Unknown Source)
at com.esri.map.Layer.getMapServerInfo(Unknown Source)
at com.esri.map.ArcGISTiledMapServiceLayer.internalInit(Unknown Source)
at com.esri.map.Layer$1.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
I think it could be the connectivity in my company, but when I tried to reach the following pages in my web browser all it was ok:
https://services.arcgisonline.com/arcgis/rest/services
https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer
https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer
https://services.arcgisonline.com/arcgis/rest/services/World_Physical_Map/MapServer
(I suppose these are the servers that must be allowed in the proxy of my company, the firstone is allowed)
So that, I think maybe the service for version 10.2.4 is no more available.
Thanks in advance for your support
Solved! Go to Solution.
The 10.2.4 release is no longer a supported product (I think its 9 years old) and you should consider migrating to a more modern API such as out 200.0.0 release. This isn't a Swing based product but JavaFX, so the app will need rewriting.
Although I've not debugged the issue you are seeing above I suspect this is a TLS version issue. This is certainly the case for Java 7 JDK. It might be worth trying with Java 8 if you've not already done that, but I suspect this isn't going to be a fixable issue.
The 10.2.4 release is no longer a supported product (I think its 9 years old) and you should consider migrating to a more modern API such as out 200.0.0 release. This isn't a Swing based product but JavaFX, so the app will need rewriting.
Although I've not debugged the issue you are seeing above I suspect this is a TLS version issue. This is certainly the case for Java 7 JDK. It might be worth trying with Java 8 if you've not already done that, but I suspect this isn't going to be a fixable issue.