• freebusy and Mail REST api problem

    By Jerome D Deniau 2 years ago

    Hi to all,

    I do have a problem when running/api/freebusy or/api/mail, install used: updatesSiteExtended to add/upgrade
    Server is Domino 9.0.1 FP5 EN on CentOS 6.5

    Domino console for 'tell http osgi ss com.ibm.domino.services'
    07/21/2017 06:30:29 PM Remote console command issued by AdminAccess/CLITEST: tell http osgi ss com.ibm.domino.services
    07/21/2017 06:30:29 PM Closed session for AdminAccess/CLITEST|Databases accessed: 0 Documents read: 0 Documents written: 0 Transactions: 2
    07/21/2017 06:30:30 PM Framework is launched.
    07/21/2017 06:30:30 PM id State Bundle
    07/21/2017 06:30:30 PM 12 «LAZY» com.ibm.domino.services.freebusy_9.0.1.v00_17_20160428-0214
    07/21/2017 06:30:30 PM 13 «LAZY» com.ibm.domino.services.mail_9.0.1.v00_17_20160428-0214
    07/21/2017 06:30:30 PM 116 «LAZY» com.ibm.domino.services.calendar_9.0.1.v00_00_20151122-0905
    07/21/2017 06:30:30 PM 181 «LAZY» com.ibm.domino.services_9.0.1.v00_00_20151122-0905
    07/21/2017 06:31:33 PM HTTP JVM: 65 [Thread-9] INFO org.apache.wink.server.internal.servlet.RestServlet - The system is using the properties file located at/WEB-INF/das.properties named in the propertiesLocation init-param initialization parameter.
    07/21/2017 06:31:34 PM HTTP JVM: 112 [Thread-9] INFO org.apache.wink.server.internal.servlet.RestServlet - The system is using the/WEB-INF/application JAX-RS application class named in the applicationConfigLocation init-param initialization parameter.
    07/21/2017 06:31:34 PM HTTP JVM: 250 [Thread-9] INFO org.apache.wink.server.internal.application.ApplicationProcessor - The following JAX-RS application has been processed: org.apache.wink.server.internal.application.ServletWinkApplication
    07/21/2017 06:31:34 PM HTTP JVM: 252 [Thread-9] INFO org.apache.wink.server.internal.log.Resources - The server has registered the JAX-RS resource class com.ibm.domino.das.resources.ApiRootResource with @Path().
    07/21/2017 06:31:34 PM HTTP JVM: 255 [Thread-9] INFO org.apache.wink.server.internal.log.Providers - There are no custom JAX-RS providers defined in the application.
    07/21/2017 06:31:35 PM HTTP JVM: 1089 [Thread-9] INFO org.apache.wink.server.internal.application.ApplicationProcessor - The following JAX-RS application has been processed: com.ibm.domino.services.freebusy.service.FreeBusyService
    07/21/2017 06:31:35 PM HTTP JVM: 1169 [Thread-9] ERROR org.apache.wink.server.internal.RequestProcessor - An unhandled exception occurred which will be propagated to the container.
    07/21/2017 06:33:38 PM INFO: The maximum number of file handles (60000) allowed for Domino is sufficient.
    07/21/2017 06:33:38 PM Admin Process: Searching Administration Requests database

    Problem is:
    500text“Internal Server Error”message“java.lang.NoSuchMethodError: com/ibm/domino/services/freebusy/service/FreeBusyService.beforeRequest(ILjava/lang/String;)V”type“text”data“javax.servlet.ServletException: java.lang.NoSuchMethodError: com/ibm/domino/services/freebusy/service/FreeBusyService.beforeRequest(ILjava/lang/String;)V\n\tat org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:195)\n\tat org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:119)\n\tat com.ibm.domino.services.AbstractRestServlet.doService(AbstractRestServlet.java:75)\n\tat com.ibm.domino.das.servlet.DasServlet.doService(DasServlet.java:232)\n\tat com.ibm.domino.services.AbstractRestServlet.service(AbstractRestServlet.java:62)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:806)\n\tat org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180)\n\tat org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)\n\tat org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)\n\tat org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:806)\n\tat com.ibm.domino.xsp.adapter.osgi.OSGIModule.invokeServlet(OSGIModule.java:167)\n\tat com.ibm.domino.xsp.adapter.osgi.OSGIModule.access$0(OSGIModule.java:153)\n\tat com.ibm.domino.xsp.adapter.osgi.OSGIModule$1.invokeServlet(OSGIModule.java:134)\n\tat com.ibm.domino.xsp.adapter.osgi.AbstractOSGIModule.invokeServletWithNotesContext(AbstractOSGIModule.java:181)\n\tat com.ibm.domino.xsp.adapter.osgi.OSGIModule.doService(OSGIModule.java:128)\n\tat com.ibm.domino.xsp.adapter.osgi.OSGIService.doService(OSGIService.java:417)\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)\n\tat com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)\nCaused by: java.lang.NoSuchMethodError: com/ibm/domino/services/freebusy/service/FreeBusyService.beforeRequest(ILjava/lang/String;)V\n\tat com.ibm.domino.services.freebusy.resources.BusyTimeResource.getBusyTime(BusyTimeResource.java:80)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)\n\tat java.lang.reflect.Method.invoke(Method.java:611)\n\tat org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)\n\tat org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHandler.java:151)\n\tat org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:65)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)\n\tat org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)\n\tat org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)\n\tat org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)\n\tat org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)\n\t… 19 more\n”

    • By Jerome D Deniau 2 years ago

      Applying Domino 9.0.1 FP8 solved the error, but I cannot upgrade the Domino server to FP8….. so, well, well well

      • By Dave Delay 2 years ago

        The problem is the mail and freebusy API plugins depend on newer versions of other extlib plugins (for example, com.ibm.domino.das and com.ibm.domino.commons). The missing beforeRequest() method is in com.ibm.domino.das. The updated version of com.ibm.domino.das is installed with FP8 – which is why that resolved the problem.

        If FP8 is not an option, I can think of two alternatives:

        1) Instead of installing updateSiteOpenNTFExtended.zip, install the full updateSiteOpenNTF.zip. That includes the mail and freebusy APIs and all the other required extlib plugins (including com.ibm.domino.das). Of course, the full update site replaces many plugins that are part of FP5. That's not the same as going all the way to FP8, but it is still a significant amount of change.

        2) Install updateSiteOpenNTFExtended.zip from an earlier version of the extlib. There are 17 extlib releases based on 9.0.1. I can't say for sure which of those are compatible with FP5, but I think the beforeRequest() changes were done sometime after 901v00_10. I would try 901v00_10. If that resolves the problem, you could try 901v00_11 and so on.

        Thanks.

        – Dave