Can't start HTTP service / Need to change port

I can’t get HTTP service to start in either Servoy Developer or Application Server. I am running Servoy 2.2.3 release on Mac OS X Server 10.4.3 - thus, port 8080 was already in use. I disabled the site using it in Server Admin, however, so Apache should no longer be using 8080. I even completely stopped the Web service (Apache). No matter what I do, I cannot get the HTTP service to start in the Developer.

I would like to run HTTP service on port 8090 to avoid conflicts. I tried changing this in Developer, but HTTP service still would not start. It saved the value between restarts, but I was not able to find it in servoy.properties. Once I get it working in Developer, how do I change the port that Servoy Application Server will use?

When I say the service “would not start,” I checked it both in a web browser by connecting to localhost:8080 (or localhost:8090 if I’d changed it), and using the TEST button in Servoy Developer. Both indicate it is not running.

The port is changed in the server.xml in the server/conf directory
Did you not disable the “data and http services in developer” in the Service preferences?

Yes, “Start Data and HTTP Services in Developer” is definitely checked.

There are four different ports set in server.xml. Again, I want to connect in my web browser on port 8090. Are the rest of the port values here normal?

<Server port="8005" shutdown="SHUTDOWN_NOW" debug="0">
  
  <Service name="Tomcat-Standalone">
    
    <Connector className="org.apache.catalina.connector.http.HttpConnector"
               port="8090" minProcessors="1" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="60000"/>
    <!-- Note : To disable connection timeouts, set connectionTimeout value to

…and later on in the file:

    <Connector className="org.apache.catalina.connector.warp.WarpConnector"
     port="8008" minProcessors="5" maxProcessors="75"
     enableLookups="true"
     acceptCount="10" debug="0"/>

So, to summarize: 8005, 8090 (which is the one I want), 8443, and 8008. Should those all be different? 8080, the original port, also appears in a comment.

You can disable the warpconnector, the other three ports have to be different for each install (RMI, http, shutdown port). This is also described in the server documentation.

I read the server documentation tonight - definitely something I should have done before, but it didn’t occur to me. I did everything according to the instructions in there, and I still get: java.lang.NoClassDefFoundError: javax/servlet/ServletResponse.

What might solve this problem is using the Tomcat built-in to Mac OS X Server to run Servoy Server. Would this be possible?

Its not possible to use another tomcat from your system.
So far we have not heard classpath/loading problems related to the servlets.jar
If you have a clean install and try to run this on 8080 it still does not work? (it does run without any problem on port 8080 or 80 for us)

Nope, a clean install still does not work. I have disabled the Apache site I have using port 8080, and also tried setting it to port 8090. Nothing I try will start http service in either the developer or via the shell script.

THE SOLUTION:

Sad as it may be (well, at least for myself, who sacrificed over 9 hours tonight), after over two hours of troubleshooting with Data Mosaic, it got to the point that reinstalling Mac OS X Server was the only thing we hadn’t tried. Sure enough - I tried a clean install on an external hard drive and it worked fine. Tonight, I wiped the server, did a clean install, and then got everything running again. Now, Servoy Server starts up fine. There was a small “cannot attach debugger” error when running from the external hard drive, but in production, running from the internal hard drive, that error is nowhere to be seen (thankfully).

The moral of the story: do not perform an upgrade installation of Mac OS X Server. The Java error with Servoy Server was not the only problem I was having! Even Apple’s support was clueless on why certain things weren’t working right in Server Admin (surprise, surprise - they all work fine now). I upgraded from 10.2 to 10.4 - maybe things would have been better if we hadn’t skipped 10.3…

In some ways, you might compare Apple’s inclusion of an upgrade option in the MOSXS installer akin to the way tobacco companies continue to sell cigarettes :slight_smile:

Thanks to everyone for their help.

I’m reading through this post, and the ServoyServer 3.5 docs
My question is about warpConnector - it’s in the example in the docs but not in the server.xml file. Is it important?

<Server port="8005" shutdown="SHUTDOWN_NOW">
  
  <Service name="Catalina">
    
    <Connector port="8080" minProcessors="1" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" connectionTimeout="60000"/>
    

    
    <Engine name="Catalina" defaultHost="localhost">

      
      <Realm className="org.apache.catalina.realm.MemoryRealm" />

      
      <Host name="localhost" appBase="webapps" unpackWARs="true">


        
        <Valve className="org.apache.catalina.valves.AccessLogValve"
                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
                 pattern="common"/>

        <Context path="/lib" docBase="../../lib"/>
        <Context path="/plugins" docBase="../../plugins"/>
        <Context path="/beans" docBase="../../beans"/>
        <Context path="/lafs" docBase="../../lafs"/>
      </Host>
    </Engine>
  </Service>
</Server>

warpConnector is used when putting apache webserver infront of tomcat, this is quite special, please see tomcat manual how this works