Smart Client Startup

Questions, answers, tips and ideas on Servoy Client

Smart Client Startup

Postby Gordon McLean » Fri Aug 24, 2018 4:25 pm

Hi
I am having issues starting a smart client on both local and remote installations. The remote server is a Tomcat Linux machine and is correctly serving the application as a web client solution, however there is specific functionality built into the smart client that our customer needs. The error message I am getting is and is continually looping with a Connection Timed Out Error.

I am not familiar with smart client and have not used it for many years to any tips on resolving this would be very much appreciated

Regards
Gordon





CacheEntry[https://tomcat.extrastaff.com:8443/TPNAdminV1_2/servoy-client/tpn3.jnlp]: updateAvailable=true,lastModified=Fri Aug 24 14:52:14 BST 2018,length=-1
Java Web Start 11.181.2.13 x86_64
Using JRE version 1.8.0_181-b13 Java HotSpot(TM) 64-Bit Server VM
User home directory = /Users/gordonmclean
----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
java.net.ConnectException: Operation timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at com.sebster.tunnel.impl.nb.createSocket(nb.java:8)
at com.sebster.tunnel.impl.gc.connect(gc.java:5)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.bb.connect(bb.java:3)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.le.<init>(le.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:2)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:10)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:325)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:323)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(ClientTunnelRMISocketFactoryFactory.java:277)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.<init>(ClientTunnelRMISocketFactoryFactory.java:265)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.servoy.j2db.smart.J2DBClient.initRMISocketFactory(J2DBClient.java:850)
at com.servoy.j2db.smart.J2DBClient.startupApplication(J2DBClient.java:786)
at com.servoy.j2db.smart.J2DBClient$4.run(J2DBClient.java:698)
at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:722)
at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
java.net.ConnectException: Operation timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at com.sebster.tunnel.impl.nb.createSocket(nb.java:8)
at com.sebster.tunnel.impl.gc.connect(gc.java:5)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.bb.connect(bb.java:3)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.le.<init>(le.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:2)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:10)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:325)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:323)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(ClientTunnelRMISocketFactoryFactory.java:277)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getRemoteClientSocketFactory(ClientTunnelRMISocketFactoryFactory.java:289)
at com.servoy.j2db.smart.J2DBClient.connectApplicationServer(J2DBClient.java:1906)
at com.servoy.j2db.smart.J2DBClient.startApplicationServerConnection(J2DBClient.java:1887)
at com.servoy.j2db.ClientState.applicationServerInit(ClientState.java:316)
at com.servoy.j2db.smart.J2DBClient.startupApplication(J2DBClient.java:792)
at com.servoy.j2db.smart.J2DBClient$4.run(J2DBClient.java:698)
at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:722)
at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Aug 24, 2018 3:20:02 PM com.servoy.j2db.util.Debug error
SEVERE: Error getting the service com.servoy.j2db.server.shared.IApplicationServer from host tomcat.extrastaff.com:1102
java.lang.NullPointerException
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getRemoteClientSocketFactory(ClientTunnelRMISocketFactoryFactory.java:290)
at com.servoy.j2db.smart.J2DBClient.connectApplicationServer(J2DBClient.java:1906)
at com.servoy.j2db.smart.J2DBClient.startApplicationServerConnection(J2DBClient.java:1887)
at com.servoy.j2db.ClientState.applicationServerInit(ClientState.java:316)
at com.servoy.j2db.smart.J2DBClient.startupApplication(J2DBClient.java:792)
at com.servoy.j2db.smart.J2DBClient$4.run(J2DBClient.java:698)
at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:722)
at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)

java.net.ConnectException: Operation timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at com.sebster.tunnel.impl.nb.createSocket(nb.java:8)
at com.sebster.tunnel.impl.gc.connect(gc.java:5)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.bb.connect(bb.java:3)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.le.<init>(le.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:2)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:10)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:325)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:323)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(ClientTunnelRMISocketFactoryFactory.java:277)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getClientSocketFactory(ClientTunnelRMISocketFactoryFactory.java:300)
at com.servoy.j2db.smart.J2DBClient.exportObject(J2DBClient.java:3404)
at com.servoy.j2db.smart.J2DBClient.bindUserClient(J2DBClient.java:3376)
at com.servoy.j2db.ClientState.applicationServerInit(ClientState.java:317)
at com.servoy.j2db.smart.J2DBClient.startupApplication(J2DBClient.java:792)
at com.servoy.j2db.smart.J2DBClient$4.run(J2DBClient.java:698)
at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:722)
at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
java.net.ConnectException: Operation timed out (Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at com.sebster.tunnel.impl.nb.createSocket(nb.java:8)
at com.sebster.tunnel.impl.gc.connect(gc.java:5)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.bb.connect(bb.java:3)
at com.sebster.tunnel.DelegatingTunnelClient.connect(DelegatingTunnelClient.java:2)
at com.sebster.tunnel.impl.le.<init>(le.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider$1.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:2)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:11)
at com.sebster.tunnel.multiplexer.rmi.ClientMultiplexedRmiSocketFactoryProvider.<init>(ClientMultiplexedRmiSocketFactoryProvider.java:10)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:325)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory$RmiSocketFactoryProvider.<init>(ClientTunnelRMISocketFactoryFactory.java:323)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.createFactoryProvider(ClientTunnelRMISocketFactoryFactory.java:277)
at com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.getClientSocketFactory(ClientTunnelRMISocketFactoryFactory.java:300)
at com.servoy.j2db.smart.J2DBClient.exportObject(J2DBClient.java:3404)
at com.servoy.j2db.smart.J2DBClient.bindUserClient(J2DBClient.java:3376)
at com.servoy.j2db.ClientState.applicationServerInit(ClientState.java:317)
at com.servoy.j2db.smart.J2DBClient.startupApplication(J2DBClient.java:792)
at com.servoy.j2db.smart.J2DBClient$4.run(J2DBClient.java:698)
at com.servoy.j2db.smart.J2DBClient.mainImpl(J2DBClient.java:722)
at com.servoy.j2db.smart.J2DBClient.main(J2DBClient.java:685)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Gordon McLean
Clickdigital.com
Gordon McLean
 
Posts: 253
Joined: Wed Aug 03, 2005 12:24 pm
Location: UK

Re: Smart Client Startup

Postby sean » Mon Aug 27, 2018 7:16 pm

Hi Gordon, It looks like the client doesn't really "see" the service.
What are your configurations for SocketFactory.tunnelConnectionMode ?
What are your firewall settings ?
It could be that you run on plain socket but simply don't have access to RMI port (1099)
So the jnlp file downloads ok (from http port) but cannot connect when it switches over to socket.
Software Engineer
Servoy USA
sean
 
Posts: 370
Joined: Mon May 21, 2007 6:26 pm
Location: USA

Re: Smart Client Startup

Postby Gordon McLean » Tue Sep 18, 2018 2:21 pm

Hi Sean
Weird I am sure I replied to this post, none the less clearly not :(

SocketFactory.tunnelConnectionMode: http&socket

Firewall has 1099 on RDP and TCP open along with 20,21,22,25,80,443,1099,2049,3000,3001,3306,8009,8080,8443,8888,1099 (UDP)

The situation is that the error is the same and clearly we are not able to connect to the relevant port

Best
Gordon
Gordon McLean
Clickdigital.com
Gordon McLean
 
Posts: 253
Joined: Wed Aug 03, 2005 12:24 pm
Location: UK

Re: Smart Client Startup

Postby Gordon McLean » Tue Sep 18, 2018 4:59 pm

To answer my own post and thanks to Rafi and Sean the cause of this problem was the RMI port. The solution was installed on a Tomcat server using a war installation. The server had multiple installations the consequence of which is the RMI port 1099 was already being used. The escalation of the port from 1099 to 1100 and 1101 by Servoy was not working due to the latter ports being blocked on the firewall. Therefore the solution to this is each WAR install on Tomcat needs its own RMI port open on the server

install1 = 1099
install2 = 1100
etc

Best
Gordon
Gordon McLean
Clickdigital.com
Gordon McLean
 
Posts: 253
Joined: Wed Aug 03, 2005 12:24 pm
Location: UK


Return to Servoy Client

Who is online

Users browsing this forum: No registered users and 12 guests