|
Attention! Read the forum rules carefully before posting a topic.
Submit JForex API bug reports in this forum only. Submit Converter issues in Converter Issues. Off topics are strictly forbidden.
Any topics which do not satisfy these rules will be deleted.
SDK connection problems |
peuter
|
Post subject: SDK connection problems |
Post rating: 0
|
Posted: Fri 09 Jan, 2015, 15:42
|
|
User rating: 1
Joined: Thu 23 Feb, 2012, 16:38 Posts: 44
|
I´m getting lots of connection error during historical tests like: 2015-01-09 14:50:54.851 ERROR TransportClient - Client disconnected, primary connection ping failed java.util.concurrent.TimeoutException: No response from server. Request: <HeartbeatRequestMessage(,synchRequestId=58)> at com.dukascopy.dds4.transport.client.TransportClient.controlSynchRequest(TransportClient.java:844) at com.dukascopy.dds4.transport.client.TransportClient.pingIoSession(TransportClient.java:648) at com.dukascopy.dds4.transport.client.TransportClient.pingPrimarySession(TransportClient.java:702) at com.dukascopy.dds4.transport.client.TransportClient.pingConnection(TransportClient.java:686) at com.dukascopy.dds4.transport.client.TransportClient.access$200(TransportClient.java:54) at com.dukascopy.dds4.transport.client.TransportClient$1.run(TransportClient.java:362) at java.lang.Thread.run(Thread.java:745) 2015-01-09 14:50:54.870 ERROR TimeManager - Request to DFS timed out, timeout [10000], request [<ServerTimeRequestMessage(,requestId=82)>] com.dukascopy.charts.data.datacache.DataCacheException: Request to DFS timed out, timeout [10000], request [<ServerTimeRequestMessage(,requestId=82)>] at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.processMessage(CurvesJsonProtocolHandler.java:1034) at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.processMessage(CurvesJsonProtocolHandler.java:954) at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.loadServerTime(CurvesJsonProtocolHandler.java:1054) at com.dukascopy.charts.data.datacache.time.TimeManager$3.run(TimeManager.java:225) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
and ClientConnector - Failed to open child session for [d-ja-gva-91-142.dukascopy.com/194.8.15.142:10443], attempt [1] 2015-01-09 14:51:20.726 INFO ClientProtocolHandler - Disconnect task in queue, reason [CONNECTION_PROBLEM], server address [d-ja-gva-91-142.dukascopy.com/194.8.15.142:10443], transport name [null]
after which the test freezes. So still no tests possible with SDK: DDS2-jClient-JForex 2.42.5 / JForex-API 2.12.4. Is this a server or a client problem?
|
|
|
|
 |
API Support
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Fri 09 Jan, 2015, 16:58
|
|
User rating: ∞
Joined: Fri 31 Aug, 2007, 09:17 Posts: 6139
|
Given exceptions could be thrown in a lot of different cases: client problem, server problem, internet connection problem, etc. Can you provide the application+strategy pair that produces this exceptions? You can send it to [email protected] if you don't want to make it public.
|
|
|
|
 |
peuter
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Fri 16 Jan, 2015, 09:33
|
|
User rating: 1
Joined: Thu 23 Feb, 2012, 16:38 Posts: 44
|
As my test setup is quite complex i cannot package and send something testable to you. Meanwhile on Monday the tests did work, last night I got connection problems again. So it it no problem in the code, but some externeal problem (e.g. network). I´m using a SystemListener to reconnect after the connection got lost, but the onDisconnect() method is not called, when I get this exception: 2015-01-16 00:35:55.998 ERROR TimeManager - Request to DFS timed out, timeout [10000], request [<ServerTimeRequestMessage(,requestId=186)>] com.dukascopy.charts.data.datacache.DataCacheException: Request to DFS timed out, timeout [10000], request [<ServerTimeRequestMessage(,requestId=186)>] at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.processMessage(CurvesJsonProtocolHandler.java:1034) at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.processMessage(CurvesJsonProtocolHandler.java:954) at com.dukascopy.charts.data.datacache.CurvesJsonProtocolHandler.loadServerTime(CurvesJsonProtocolHandler.java:1054) at com.dukascopy.charts.data.datacache.time.TimeManager$3.run(TimeManager.java:225) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) 2015-01-16 00:36:05.254 ERROR TransportClient - Client disconnected, secondary connection ping failed java.util.concurrent.TimeoutException: No response from server. Request: <HeartbeatRequestMessage(,synchRequestId=381)> at com.dukascopy.dds4.transport.client.TransportClient.controlSynchRequest(TransportClient.java:844) at com.dukascopy.dds4.transport.client.TransportClient.pingIoSession(TransportClient.java:648) at com.dukascopy.dds4.transport.client.TransportClient.pingConnection(TransportClient.java:681) at com.dukascopy.dds4.transport.client.TransportClient.access$200(TransportClient.java:54) at com.dukascopy.dds4.transport.client.TransportClient$1.run(TransportClient.java:362) at java.lang.Thread.run(Thread.java:745) mode changed to WAIT_FOR_POINTS
2015-01-16 00:36:13.365 INFO ClientConnector - Child session opened for [d-ja-gva-91-142.dukascopy.com/194.8.15.142:10443] 2015-01-16 00:36:15.270 ERROR TransportClient - Client disconnected, primary connection ping failed java.util.concurrent.TimeoutException: No response from server. Request: <HeartbeatRequestMessage(,synchRequestId=382)> at com.dukascopy.dds4.transport.client.TransportClient.controlSynchRequest(TransportClient.java:844) at com.dukascopy.dds4.transport.client.TransportClient.pingIoSession(TransportClient.java:648) at com.dukascopy.dds4.transport.client.TransportClient.pingPrimarySession(TransportClient.java:702) at com.dukascopy.dds4.transport.client.TransportClient.pingConnection(TransportClient.java:693) at com.dukascopy.dds4.transport.client.TransportClient.access$200(TransportClient.java:54) at com.dukascopy.dds4.transport.client.TransportClient$1.run(TransportClient.java:362) at java.lang.Thread.run(Thread.java:745) 2015-01-16 00:36:15.404 INFO ClientProtocolHandler - Disconnect task in queue, reason [CONNECTION_PROBLEM], server address [d-ja-gva-91-142.dukascopy.com/194.8.15.142:10443], transport name [null]
Is this a bug? Shouldn´t the SystemListener.onDisconnect() be called every time the client disconnects?
|
|
|
|
 |
API Support
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Fri 16 Jan, 2015, 16:06
|
|
User rating: ∞
Joined: Fri 31 Aug, 2007, 09:17 Posts: 6139
|
SystemListener.onDisconnect() should be called every time the client disconnects, we will investigate this issue.
Do you experience connection problems only with ITesterClient? Or IClient also doesn't work as expected? What timezone your logger user? Is it UTC+0?
|
|
|
|
 |
peuter
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Fri 16 Jan, 2015, 16:38
|
|
User rating: 1
Joined: Thu 23 Feb, 2012, 16:38 Posts: 44
|
I have connection problems in the JForex-App from time to time (I assume this is what you meant with your question regarding connection problems with IClient). But the reconnect usually works and therefore the problem "solves itself" most of the times.
In the ITesterClient I added reconnection code in the SystemListener.onDisconnect() method (copied from you wiki). But this code is not executed and therefore the test freezes as it gets no more data due to the disconnection.
The timezone is CET (==UTC+1).
|
|
|
|
 |
vietllc
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Sat 07 Feb, 2015, 15:35
|
|
User rating: 0
Joined: Fri 10 Oct, 2014, 02:09 Posts: 27 Location: Vietnam,
|
I just moved up from 2.12.1 to 2.12.6 and also got the "ClientProtocolHandler - Disconnect task in queue" problem. Nothing was changed in my strategy code; I just moved up to the latest JClient library. I don't know if this has anything to do with the problem but I am also getting the following exception:
java.lang.ClassNotFoundException: javax.jnlp.ServiceManager
|
|
|
|
 |
fxbird
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Wed 11 Feb, 2015, 17:42
|
|
User rating: 6
Joined: Tue 02 Jul, 2013, 16:52 Posts: 38
|
I also have a lot of connections problems with the demo environment. I haven't been able to connect for 30 minutes, now it's working again. After an IClient.connect(), I check every second (for 25 seconds max) if I'm connected before continuing my program logic. However, right now, it seems that the IClient.connect() is locked somehow and returns to my program (to check the connection) only after several minutes (between 2 and 7 minutes). So basically, the SystemListener detected the disconnect, failed 10 times to light reconnect, then tried an instance.connect, got stuck there somehow, and got the following error after 6 minutes before resuming the connection test in my program! 2015-02-11 16:00:44,228|DEBUG | DukaTools:156 | Connecting to Dukascopy ... 2015-02-11 16:06:52,941|ERROR | DukaTools:180 | connect: com.dukascopy.api.JFException: Connection error occurred com.dukascopy.api.JFException: Connection error occurred at com.dukascopy.api.impl.connect.DCClientImpl.authenticate(DCClientImpl.java:515) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:340) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:261) at forex.tools.DukaTools.connect(DukaTools.java:160) at forex.tools.DukaTools$1.onDisconnect(DukaTools.java:268) at com.dukascopy.api.impl.connect.DCClientImpl$6.onDisconnect(DCClientImpl.java:721) at com.dukascopy.api.impl.connect.DCClientImpl.disconnected(DCClientImpl.java:981) at com.dukascopy.dds4.transport.common.mina.DisconnectedEvent.execute(DisconnectedEvent.java:36) at com.dukascopy.dds4.transport.common.mina.EventTask.run(EventTask.java:35) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
Meanwhile the Dukascopy API generated this error (check the time in comparison with logs above): 2015-02-11 16:03:50,366|nvocation thread - 1|ERROR | .api.impl.connect.AuthorizationClient | Unexpected end of file from server java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:772) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) at com.dukascopy.api.impl.connect.AuthorizationClient.getAuthorizationServerResponse(AuthorizationClient.java:875) at com.dukascopy.api.impl.connect.AuthorizationClient.getAPIsAndTicketUsingLogin(AuthorizationClient.java:511) at com.dukascopy.api.impl.connect.DCClientImpl.authenticate(DCClientImpl.java:477) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:340) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:261) at forex.tools.DukaTools.connect(DukaTools.java:160) at forex.tools.DukaTools$1.onDisconnect(DukaTools.java:268) at com.dukascopy.api.impl.connect.DCClientImpl$6.onDisconnect(DCClientImpl.java:721) at com.dukascopy.api.impl.connect.DCClientImpl.disconnected(DCClientImpl.java:981) at com.dukascopy.dds4.transport.common.mina.DisconnectedEvent.execute(DisconnectedEvent.java:36) at com.dukascopy.dds4.transport.common.mina.EventTask.run(EventTask.java:35) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
And now I have different errors ... including : "com.dukascopy.api.system.JFAuthenticationException: Incorrect username or password" My username did not change, my password neither, and I am still connected on the JForex platform... But all these other issues may be caused by the initial problem I started having connections issues this week-end and I have these issues with 2 different machines on my network with different OS. I didn't notice any issue on the JForex platform. This is obviously very problematic. Using latest version 2.43.2 from Maven repository.
|
|
|
|
 |
fxbird
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Fri 13 Feb, 2015, 09:05
|
|
User rating: 6
Joined: Tue 02 Jul, 2013, 16:52 Posts: 38
|
Same problem this morning again when trying to connect, although I got a response "Unexpected end of file from server" after "only" 3 minutes, and got connected 1 min later. Putting all the logs together, I got this: 2015-02-13 07:43:10,473| DEBUG | DukaTools:156 | Connecting to Dukascopy ... 2015-02-13 07:46:15,911|ocalhost-startStop-1| ERROR | .api.impl.connect.AuthorizationClient | Unexpected end of file from server java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:772) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338) at com.dukascopy.api.impl.connect.AuthorizationClient.getAuthorizationServerResponse(AuthorizationClient.java:875) at com.dukascopy.api.impl.connect.AuthorizationClient.getAPIsAndTicketUsingLogin(AuthorizationClient.java:511) at com.dukascopy.api.impl.connect.DCClientImpl.authenticate(DCClientImpl.java:477) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:271) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:261) at forex.tools.DukaTools.connect(DukaTools.java:160) at forex.listener.ForexContextListener.contextInitialized(ForexContextListener.java:104) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1862) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) 2015-02-13 07:47:07,639|ocalhost-startStop-1| INFO | .api.impl.connect.AuthorizationClient | Selecting the best server... 2015-02-13 07:47:08,139|ocalhost-startStop-1| INFO | .api.impl.connect.AuthorizationClient | retry count = 1, properties request time = 2015-02-13 07:47:08 2015-02-13 07:47:12,329|ocalhost-startStop-1| INFO | .api.impl.connect.AuthorizationClient | retry count = 1, properties response time = 2015-02-13 07:47:12 2015-02-13 07:47:12,572|ocalhost-startStop-1| INFO | ransport.client.ClientProtocolHandler | TcpNoDelay=false 2015-02-13 07:47:14,104| ClientConnector| INFO | dds4.transport.client.ClientConnector | Primary connect successfull, primarySession is [MinaIoSessionWrapper [session=(SOCKET, R: d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443, L: /10.0.0.10:40818, S: d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443)]], address is [d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443] 2015-02-13 07:47:14,908|ocalhost-startStop-1| WARN | dukascopy.api.impl.connect.WLabelData | White Label Image is not received 2015-02-13 07:47:14,911| DEBUG | DukaTools:164 | Not connected yet 25 2015-02-13 07:47:15,499| Mina-thread - 10| INFO | tion.GreedClientAuthorizationProvider | !!!:Thread[ClientConnector,5,main] 2015-02-13 07:47:15,913| DEBUG | DukaTools:164 | Not connected yet 24 2015-02-13 07:47:16,554| ClientConnector| INFO | dds4.transport.client.ClientConnector | Child session opened for [d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443] 2015-02-13 07:47:16,915| DEBUG | DukaTools:164 | Not connected yet 23 2015-02-13 07:47:17,183| INFO | DukaTools$1:244 | Connected to Dukascopy servers 2015-02-13 07:48:03,964| Connection monitor| ERROR | dds4.transport.client.TransportClient | Client disconnected, secondary connection ping failed java.util.concurrent.TimeoutException: No response from server. Request: <HeartbeatRequestMessage(,synchRequestId=4)> at com.dukascopy.dds4.transport.client.TransportClient.controlSynchRequest(TransportClient.java:851) at com.dukascopy.dds4.transport.client.TransportClient.pingIoSession(TransportClient.java:648) at com.dukascopy.dds4.transport.client.TransportClient.pingConnection(TransportClient.java:681) at com.dukascopy.dds4.transport.client.TransportClient.access$200(TransportClient.java:54) at com.dukascopy.dds4.transport.client.TransportClient$1.run(TransportClient.java:362) at java.lang.Thread.run(Thread.java:745) 2015-02-13 07:48:05,009| ClientConnector| INFO | dds4.transport.client.ClientConnector | Child session opened for [d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443]
I also noticed I got an issue when launching JForex this morning. After waiting for a few minutes, it was still not launched, so I launched it a second time. One of these failed (I think it was authentication failed, although I launched with username and password as parameter, so I can't be wrong) and the second one launched ok. Edit: 30 minutes later, with my test demo account, I got after 3 minutes: com.dukascopy.api.system.JFAuthenticationException: Incorrect username or password at com.dukascopy.api.impl.connect.DCClientImpl.authenticate(DCClientImpl.java:499) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:271) at com.dukascopy.api.impl.connect.DCClientImpl.connect(DCClientImpl.java:261) And yes I am sure that username and password are correct. Please help !!! Thank you in advance
|
|
|
|
 |
API Support
|
Post subject: Re: SDK connection problems |
Post rating: 0
|
Posted: Thu 26 Feb, 2015, 17:09
|
|
User rating: ∞
Joined: Fri 31 Aug, 2007, 09:17 Posts: 6139
|
SystemListener.onDisconnect() wasn't called from ITesterClient, but will be since next SDK/API release. That should help solve problems with disconnects in ITesterClient.
|
|
|
|
 |
|
Pages: [
1
]
|
|
|
|
|