Problem with mail plug-in on server only

I have a solution with a method that calls plugins.mail.sendMail. Everything works fine in Developer. When the solution is deployed on the server, sendMail fails with the error:

TypeError: Cannot call method “sendMail” of undefined (mail#20)

(“mail” is the calling method).

From the error, it appears that the plug-ins are not loading on the server or are not made available to the solution. During solution development, I had a similar error with the rawSQL plugin during a server test, but fashioned a work-around and didn’t realize what was going on until this problem popped up.

I don’t see any evidence of any problems in the server logs (see below). The Server Plugins pane of the Application Server Admin shows settings for mail, raw SQL, and PDF forms, and I’ve set up the smtp properties exactly as was done in developer (I even have a script override). The plugins folder exists under servoy/application_server and contains mail.jar and the others. This is a standard Servoy install with no custom plugins, etc. The only modification is installation of a keystore and changes to server.xml and web.xml to enable https over port 8443. Servoy version is 4.1.4, build 681. The server is running on a Linux (Ubuntu) machine (OS version 2.6.28-11-generic) with java version 1.6.0_0-b14. The server is remote to my location and I only have ssh access to it.

How can I confirm if the plug-ins are not loading and if so, how do I fix this problem? If the plug-ins are loading, does anyone have a clue as to what is going on with the server?

server.log entries from last server startup (just before the sendMail error):

Sep 23, 2009 2:35:07 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Sep 23, 2009 2:35:07 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8443
Sep 23, 2009 2:35:07 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1515 ms
Sep 23, 2009 2:35:07 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Sep 23, 2009 2:35:07 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0-snapshot
Sep 23, 2009 2:35:08 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/web-app_2_5.xsd
Sep 23, 2009 2:35:14 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Sep 23, 2009 2:35:14 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8443
Sep 23, 2009 2:35:14 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 6873 ms

Stack trace from error:

org.mozilla.javascript.EcmaError: TypeError: Cannot call method “sendMail” of undefined (mail#20) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3653) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3647) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3658) at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3676) at org.mozilla.javascript.ScriptRuntime.undefCallError(ScriptRuntime.java:3695) at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(ScriptRuntime.java:2115) at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3481) at script.mail(mail:20) at script.register(register:157) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2680) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:166) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3125) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:165) at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:126) at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:70) at com.servoy.j2db.FormController.Za(FormController.java:178) at com.servoy.j2db.FormController.executeFunction(FormController.java:1115) at com.servoy.j2db.Zhb.Za(Zhb.java:8) at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.fireActionCommand(WebEventExecutor.java:131) at com.servoy.j2db.server.headlessclient.dataui.WebEventExecutor.onEvent(WebEventExecutor.java:77) at com.servoy.j2db.server.headlessclient.dataui.Zic.onEvent(Zic.java:10) at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:163) at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:297) at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:104) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1239) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1316) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1418) at org.apache.wicket.RequestCycle.request(RequestCycle.java:532) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:636)