Can not find dataservice, it may not be running on server

Hello,

We are receiving inputs from some of our end-users saying that they receive this error message in smart client and can not use it. They have no firewall active.

Beside the firewall, which is not the case, what could be the cause of this error and how can be solved?

Greetings,
Bogdan.

udrescu_bogdan:
Hello,

We are receiving inputs from some of our end-users saying that they receive this error message in smart client and can not use it. They have no firewall active.

Beside the firewall, which is not the case, what could be the cause of this error and how can be solved?

Greetings,
Bogdan.

We experienced this for the first time today too - OK on one PC and not on another - same LAN - connecting to the server over the web. Because we figured the system was well broken and Java reinstall did not fix it (and a system Restore did nothing) we ended up bringing forward a system upgrade for that PC to Win 7 - Now OK again. But it would be very useful to know the reason!!!

what is your network settings in the admin pages? (rmihostname, do you use 2way or the tunnel)

What is the clients error in the java webstart console

We don’t know why. But when we have this error (cannot find dataservice), we go into Java>Network Settings and set it to “Direct Connection”. Then it works fine :D

yes that is a known issue.

For that there are 2 solutions

1> change it on the client to direct connection

2> configure the server to use the http&socket tunnel

java.rmi.server.hostname: 127.0.0.1
SocketFactory.useTwoWaySocket: true
SocketFactory.tunnelConnectionMode: http

Still doesn’t work?

Have you tried to change it on the client to direct connection or/and to configure the server to use the http&socket tunnel?

I’m waiting an answer from the users. I told them to try direct connection.

I have changed the tunnelConnectionMode to http&socket. Can Servoy automatically change the mode from socket to http in a proper manner in case it encounter problems with the network and fails the data transfer using sockets? Or it’s safe to let it on http only?

Thanks,
Bogdan.

this setting:

SocketFactory.tunnelConnectionMode: http

only makes sense if you also set the property: SocketFactory.rmiServerFactory
else it wont do anything.

I have noticed that the TwoWaySocket setting exists also in client’s preferences. Is this the only one? What about the TunnelConnectionMode? If I changed it on the server will the clients be affected by the change or they will have the old setting?

In general, if I change preferences on server that also can be changed from the client, like NumberFormat, or this TwoWaySocket property, how can I force all clients to read them from the server and override their local settings?

Greetings,
Bogdan.

this:

SocketFactory.tunnelConnectionMode

will always be pushed, same for its TunnelConnectionMode

2 way socket is a client property because clients dont have to use that if they are in the same local lan of the server… But normally you dont want to set this at the clients to false if the server is true
You cant push this property to be changed if the client did set it them self.

Hello,

I’m glad to tell you that we received a notification from a client and it worked with Direct Connection on true. :D

Thank you,
Bogdan.

I upgraded our solution from servoy 5.2.7 to 6 b1 today. With 5.2.7 we were using the following settings to connect to our solution in our datacenter:

ServerManager.numberOfServers=8
SocketFactory.SSLKeystorePassphrase=
SocketFactory.SSLKeystorePath=
SocketFactory.compress=true
SocketFactory.rmiServerFactory=com.servoy.j2db.server.rmi.tunnel.ServerTunnelRMISocketFactoryFactory
SocketFactory.useSSL=true
SocketFactory.useTwoWaySocket=true

system.property.com.sebster.tunnel.http.client.chunked=false
system.property.com.sebster.tunnel.http.client.closeRequestOnFlush=false

These settings worked fine in 5.2.7. Now I get the “Cannot find dataservice…” error and in my Java console I get the error:

SEVERE: couldn’t instantiate the rmi socketfactory
java.lang.NoSuchMethodException: com.servoy.j2db.server.rmi.tunnel.ClientTunnelRMISocketFactoryFactory.(java.net.URL, com.servoy.j2db.IApplication, java.util.Properties, com.servoy.j2db.util.rmi.IReconnectListener)

Do these settings no longer make sense for Servoy 6?

That’s a bug in 6b1, will be fixed in the next release.