Smart Client "cannot find dataservice"

Hello
I have a problem when I try to conect to my server with the smart client, I have this message
“cannot find dataservice, it may not be running on server”

In web client, all is ok but with smart client I have this message in all computers.
My basedata is MySql.
I try to re-install Java and change the version of Java and nothing.
The servoy.log on server is ok, no there are errors.
The only no mormail is in .service_log I have this line:

ADVERTENCIA: Could not get url for /javax/servlet/resources/web-app_2_5.xsd

I don´t have Firewall, in ny network

Thanks.

Please enable the Java console on the client and see what message you see in there…

This is my java consola:

Java Web Start 1.6.0_11
Usar versión JRE 1.6.0_11 Java HotSpot™ Client VM
Directorio local del usuario = C:\Documents and Settings\cri

c: borrar ventana de consola
f: finalizar objetos en la cola de finalización
g: liberación de recursos
h: presentar este mensaje de ayuda
m: imprimir sintaxis de memoria
o: activar registro
p: recargar configuración de proxy
q: ocultar consola
r: recargar configuración de norma
s: volcar propiedades del sistema y de despliegue
t: volcar lista de subprocesos
v: volcar pila de subprocesos
0-5: establecer nivel de rastreo en

09-feb-2009 9:37:27 com.servoy.j2db.util.Debug log
INFO: Starting Servoy from C:\Documents and Settings\cri\Escritorio
09-feb-2009 9:37:27 com.servoy.j2db.util.Debug log
INFO: Servoy 4.1.0 build-651 on Windows XP using Java 1.6.0_11
09-feb-2009 9:37:31 com.servoy.j2db.util.Debug error
GRAVE: Throwable
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused: connect
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.getIDataServer(Unknown Source)
at com.servoy.j2db.J2DBClient.Ze(J2DBClient.java:245)
at com.servoy.j2db.ClientState.dataServerInit(ClientState.java:158)
at com.servoy.j2db.J2DBClient.dataServerInit(J2DBClient.java:316)
at com.servoy.j2db.J2DBClient.startupApplication(J2DBClient.java:875)
at com.servoy.j2db.J2DBClient.main(J2DBClient.java:167)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
at com.servoy.j2db.util.rmi.Zp.createSocket(Zp.java:3)
… 21 more

I think there are many not normal lines:

at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.invoke(Unknown Source)

But i don´t know what is the problem
Can someone help me
Thanks.

it looks like a firewall issue.

are you having a firewall on, on your developer/server?
and did you open port 8080 and 1099 (default, could be different in your case) ?

i had this problem a long time ago and it happened because the port was already in use by some other application… change the deault port and see what it happens

I change the port for 1095 and it´s the same problem
Normay I use 8080 and 1099 ports
I don´t have any firewall, and the firewall of windows is disable at the moment
Web-Cliente is ok, on the network and out of my network, but the problem is smart-client, don´t work.
Always is the same message:

“Cannot find dataservice, it may not be running on server”

Thanks

and if you try localhost on the server itself??

http://localhost:8080

are you using, some kind of proxy?
did you tried java with direct connection? (under network, in the java preference panel)

When I try on server I have this message of java:

“No se puede iniciar la aplicación”
“Starting of webstart clients not possible from developer (running an application server)”

I don´t have any proxy or similar
and the conexion Java is direct at this moment

Hi Juan,

In the Java control panel under Network make sure you use Direct Connection.

Hope this helps.

Yes, in Java control panel, I use Direct Connection is ok the is the same problem.

All the problems started when I put on automatic the services of sybase.
I´m not sure if my sybase.config is ok. This is actually my sybase.config:

-ti 0 -x tcpip{dobroadcast=no;port=2638} -qs -qw -o “c:/servoy/application_server/sybase_db/sybase_log.txt”
“c:/servoy/application_server/database/servoy_repository.db”
“c:/servoy/application_server/database/user_data.db”
“c:/servoy/application_server/database/example.db”
“c:/servoy/application_server/database/log_data.db”
“c:/servoy/application_server/database/udm.db”
“c:/servoy/application_server/database/pdf_forms.db”
“c:/servoy/application_server/database/bug_db.db”

My proyect it´s on MySql and the name is intranet

Thanks

JuanMartin:
“Starting of webstart clients not possible from developer (running an application server)”

Are you running Developer and ApplicationServer on the same machine? if so, they probably conflict in ports.
Additionally, you cannot connect with the smart client to Developer, you will have to use the built-in smart-client there.

Rob

Thanks rgansevles.

I have only running ApplicationServer on the same machine
I use 1099 port and I proved with the 10990 too
Telnet is ok for 1099, but I can´t conect to the server with the smart client
On the server, the smart client works

If I put in java.rmiStartPort on server the External IP I have this message:

“No licenses or trial licenses left. Exiting”

And on the server log:

Error getting client info: Proxy[IClient,RemoteObjectInvocationHandler[UnicastRef2 [liveRef: [endpoint:192.168.0.2:3001,objID:[-5461085d:11f84f3a34b:-7ffd, -2969956359685996155]]]]]

Thanks

I think your are using a proxy?

try direct connection, under java control panel → Network

We installed Servoy on a new Windows Vista 64-bit computer (to act as a Servoy server) and ended up with a myriad of problems…this being one of them!

Using the ‘netstat -a’ command, we found that Sybase SQL port 2638 and Servoy Server port 8080 were open and LISTENING, however, the RMI port 1099 didn’t show up. Using the ‘telnet’ command to port 1099 resulted in a message stating that a connection could not be established. Conflicting information at best…here’s why.

A failure to ‘telnet’ to port 1099 indicates that some other application/service/system thing is already using the port, but, if that is true, then you would expect to see port 1099 to appear in ‘netstat -a’ as LISTENING. Microsoft at its best, eh? The conclusion we made was that Windows Vista is (secretly) using port 1099 even though it’s a reserved port for Java RMI.

So, how to get around this? We added the following key to the Window Registry location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Create a new multi-string value key (REG_MULTI_SZ) in this location and name it ‘Reserved’. For the range value, enter ‘1099-1099’. Save and close the registry editor, then re-start the computer.

Disclaimer: we do not know what the ramifications to Windows Vista are, if any, for reserving port 1099. If you know of any, please let us know.

I hope this helps!

Kim

kwpsd:
A failure to ‘telnet’ to port 1099 indicates that some other application/service/system thing is already using the port, but, if that is true, then you would expect to see port 1099 to appear in ‘netstat -a’ as LISTENING. Microsoft at its best, eh? The conclusion we made was that Windows Vista is (secretly) using port 1099 even though it’s a reserved port for Java RMI.

Kim,

A failure to connect to port 1099 means that no-one is listening on that port/host or that you cannot reach the host or that a firewall blocks the connection.
It not showing up in nestat output probably means it is the first option.

Rob

Hi

I don´t have any proxy.
Since I already have direct connection to the Java control panel.
really, what ports are needed for access to the client?

I have 1099 and 8080 redirect to the server in my router.
I have Windows 2000 in my server.

Thanks

We ran into this problem yesterday where a customer went from Windows Vista 64-bit to a new computer running Windows 7 64-bit. The registry fix Kim supplied below fixed the problem. Thanks Kim! :D

(Interesting note to this- our customer had been using Windows Vista 64-bit for well over a month with no issues, so I wonder what the configuration value is that is causing this to happen? We’re not able to do a detailed config review of the user’s workstation unfortunately…)

Of course, the customer later went ahead and applied updates from Microsoft and the problem reoccurred- apparently Microsoft is doing SOMETHING with port 1099. Reapplying the registry fix solved the problem once again.

To work around this I think we might just push all of our application servers to run through port 443 as I really don’t want to get into this issue repeatedly with our customers- I’d rather avoid the whole issue of trying to find relatively available ports that won’t get co-opted later by Microsoft somehow.

Anyone else run into this with the launch of Windows 7?

-Tony

kwpsd:
We installed Servoy on a new Windows Vista 64-bit computer (to act as a Servoy server) and ended up with a myriad of problems…this being one of them!

Using the ‘netstat -a’ command, we found that Sybase SQL port 2638 and Servoy Server port 8080 were open and LISTENING, however, the RMI port 1099 didn’t show up. Using the ‘telnet’ command to port 1099 resulted in a message stating that a connection could not be established. Conflicting information at best…here’s why.

A failure to ‘telnet’ to port 1099 indicates that some other application/service/system thing is already using the port, but, if that is true, then you would expect to see port 1099 to appear in ‘netstat -a’ as LISTENING. Microsoft at its best, eh? The conclusion we made was that Windows Vista is (secretly) using port 1099 even though it’s a reserved port for Java RMI.

So, how to get around this? We added the following key to the Window Registry location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Create a new multi-string value key (REG_MULTI_SZ) in this location and name it ‘Reserved’. For the range value, enter ‘1099-1099’. Save and close the registry editor, then re-start the computer.

Disclaimer: we do not know what the ramifications to Windows Vista are, if any, for reserving port 1099. If you know of any, please let us know.

I hope this helps!

Kim

Is Servoy functioning under an admin account?
You need full read/write rights.
Please disable windows security and see what happens.

There are more posts about this subject so maybe there are more hints available.

IT2Be:
Is Servoy functioning under an admin account?
You need full read/write rights.
Please disable windows security and see what happens.

There are more posts about this subject so maybe there are more hints available.

Marcel- in my case it’s the end user running the Smart Client on Windows 7 64-bit connecting to my application server in my shop (Saas deployment) and our application server is and always has been Linux (our particular flavor is CentOS…) on x86 32-bit.

In Kim’s post the issue is the Application Server running Vista 64-bit and the registry entry helping clients to connect, whereas in my case the fix helped my customer using Smart Client to connect. Different cases but I’m glad the registry entry helped.

I do not know if the client is running using an admin account and I can’t advise him to have to do so to run the Smart Client if it turns out that that ends up being needed, which I doubt.

The user to the best of my knowledge has full read/write access; I can’t imagine port 1099 traffic being a ‘read/write’ access being a ‘read/write’ access issue, and even if it is, why would the registry fix have worked (no other changes made to the system AFAIK)?