Servoy Http Tunnel not working after restart usiserver-admin

Marcel/Sebastiaan,

Mac OS X Server 10.5 comes with Apache 1.3 and 2.2 (2.2.8).
Version 1.3 is default but you can upgrade to 2.2. with a mouseclick.
And I just checked…I run Apache 2.2.8 on Mac OS X 10.5.3. and is also present on 10.5.2.

Hope this helps.

sebster:
By the way, the only thing you need to do to enable the new tunnel is set the line:

SocketFactory.rmiServerFactory=com.servoy.j2db.server.rmi.tunnel.ServerTunnelRMISocketFactoryFactory

Hello,

I couldn’t get tunneling working as long as I copied the code above → only removing
the last (duplicate) word ‘Factory’ did the trick. Just wondering if the code worked unmodified
for others?

Regards, Juha

Servoy 3.5.6 + OSX 10.4.11

Hi,

If you remove the Factory on the end, then it will not work using the tunnel. It really needs to be FactoryFactory (because it’s a Factory to make RMI socket Factories).

Can you post the servoy log, so I can see what goes wrong when you try to use the tunnel? Are you sure you upgraded to the latest version of Servoy?

Hello sebster,

Thanks for your speedy answer.

I’m using version 3.5.6 and after activating the tunneling the client doesn’t load the repository- just freezes to an empty window with ‘Starting repository’.

I will test with updated Java and post logs if errors occur.

Best regards, Juha

Hi,

Yes, it would be useful to have logs. What you can also do is start Java Web Start and enable the console (Under File->Preferences, go to the Advanced Tab and select “Show Java Console”). You have to start java web start somehow (I think you can do it via a command prompt using the javaws command). When the console is running, see if there are any stack traces when it hangs.

Next: are you using any proxies (transparent maybe)? One transparent proxy that I’ve seen causing this behavior is AVG. Turn of the Web filtering (can’t remember exactly what it’s called) in AVG, and it should work (if not permanently, at least so we can see if that’s causing the problem).

Finally, check the server logs to see if there’s anything strange going on there. You should see a Tunnel Library copyright message, if you do not, then the tunnel has not been started properly.

Are use on a vista machine,

I have had a few issues with clients since i moved to tunnel over port 80.

Vista is particularly disturbing in that there seems to be a conflict with UAC.

I switched this off on the clients of mine having difficulty and it then worked fine.

Click on Start -> Run -> type in MSCONFIG.

On the system configuration window click on the Tools tab. Scroll down
and find Disable UAC. Click on the launch button. The DOS window will
flash up saying successful. Close this and restart windows. UAC should
be disabled.

If you are using vista give it a go. Although Bill doesnt like you turning it off and tries to switch it on again when i rebooted!.

David

Interesting that it UAC was causing problems. When I have time I’ll see if I can test it on Vista and see why it’s a problem… Do you get a UAC popup? Or does it silently fail? Could be because the Tomcat is trying to bind to a privileged port (80/HTTP)? Does UAC somewhere give a specific error message as to what permission was requested and why it was not granted?

No it doesnt come up with an option,

my theory for what its worth is that it is trying to launch sybase from servoy and it doesnt come up with a dialogue because bill doesn’t think you want it as you haven’t double clicked anywhere! so he then doesn’t let you launch a service from another or bring up a dialogue to ask you.

!!!

what kind of version do you use of vista?
is it 64bit?
Then sybase wont work in the default install dir because it wants to read/write in the program files which isnt allowed in Vista 64

I’m trying to activate HTTP Tunneling on port 80 on a Servoy 4.0.1 server running on Mac OSX 10.5.5 running Java 1.5.

Per the docs I’ve made the required changes to server.xml and servoy.properties and if I leave the port setting at “8080” it works but we want to use port 80.

When I set port = “80” and try to connect via admin console or client launcher web pages I get ‘can’t find server’ errors.

I can tell the server is running because my batch processors are all running.

There’s nothing fancy running on this server - no webserver, no other application server.

Any suggestions? Thanks in advance.

I think you need to change the port of the apple apache server.

I swapped them around.

i think this is in the httpd.conf file, or if you are on a server you can do it in your web server configuration.

think it is the: Listen 80 at the top of the file.

i assume you change to Listen 8080

you will need to restart apache in your sharing preferences by turning webservices on and off.

Hi,

You probably need to be admin to run on ports < 1024. This is very common. There are several workarounds:

  1. Have a firewall forward port 80 to port 8080. This is generally the best solution: it will transparently forward port 80 to 8080; it’s also secure.
  2. Use apache + mod_proxy (at least 2.2 for the tunnel) and let apache (which can drop privileges after having been started as root) proxy for the tunnel. This has some drawbacks and requires quite some apache knowledge (ideally you want to use MPM to allow many threads per apache process).
  3. Run tomcat as root. This is not such a good idea because your server will run as root since java does not drop privileges. This will work, but for production I advice STRONGLY against it.

So, for production my advice is solution 1 unless you have good reasons to need apache to proxy anyway, in which case option 2 is my advice. Use option 3 for testing. :-)