Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-4283

FIWARE.Request.Tech.Data.CEP.Deploying CEP through WARs on CentOS VM - Proton Server issue

    Details

    • Type: Monitor
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:

      Description

      Created question in FIWARE Q/A platform on 29-08-2015 at 18:08
      Please, ANSWER this question AT http://stackoverflow.com/questions/32288173/deploying-cep-through-wars-on-centos-vm-proton-server-issue

      Question:
      Deploying CEP through WARs on CentOS VM - Proton Server issue

      Description:
      I've deployed the 4 war files for Fiware Proton CEP, I got a month ago on githug (I believe), on a CentOS 6 VM, after installing Java SE 8 and Tomcat 7. These WAR files where inside a zip file, but now I can't find it on github anymore.

      Beyond that, following the instructions for instalation and configuration, I was able to get everything almost working.

      The Authoring Tool is available and working (it exports definitions to the server's repository correctly).
      Working with Google's Postman for http verbs i find that:

      A GET on the repositories works and retrieves the definitions exported by the Authoring tool: http://

      {ip}:8080/ProtonOnWebServerAdmin/resources/definitions
      But a GET on the server:
      http://{ip}

      :8080/ProtonOnWebServerAdmin/resources/instances/ProtonOnWebServer
      ...doesn't work and responds the following html message:

      <html>

      <head>
      <title>Apache Tomcat/7.0.64 - Error report</title>
      <style>
      <!--H1

      { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 22px; }

      H2

      { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 16px; }

      H3

      { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; font-size: 14px; }

      BODY

      { font-family: Tahoma, Arial, sans-serif; color: black; background-color: white; }

      B

      { font-family: Tahoma, Arial, sans-serif; color: white; background-color: #525D76; }

      P

      { font-family: Tahoma, Arial, sans-serif; background: white; color: black; font-size: 12px; }

      A

      { color: black; }

      A.name

      { color: black; }

      HR

      { color: #525D76; }

      -->
      </style>
      </head>

      <body>
      <h1>HTTP Status 500 - java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory</h1>
      <HR size="1" noshade="noshade">
      <p>
      <b>type</b> Exception report
      </p>
      <p>
      <b>message</b>
      <u>java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory</u>
      </p>
      <p>
      <b>description</b>
      <u>The server encountered an internal error that prevented it from fulfilling this request.</u>
      </p>
      <p>
      <b>exception</b>
      <pre>javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
      org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:195)
      org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:119)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      </pre>
      </p>
      <p>
      <b>root cause</b>
      <pre>java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
      org.apache.http.impl.client.AbstractHttpClient.&lt;init&gt;(AbstractHttpClient.java:182)
      org.apache.http.impl.client.DefaultHttpClient.&lt;init&gt;(DefaultHttpClient.java:150)
      com.ibm.hrl.proton.admin.webapp.resources.ProtonInstancesResource.getInstanceState(ProtonInstancesResource.java:248)
      sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:497)
      org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
      org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:183)
      org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
      org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
      org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:63)
      org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)
      org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
      org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
      org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:119)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
      org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
      </pre>
      </p>
      <p>
      <b>note</b>
      <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.64 logs.</u>
      </p>
      <HR size="1" noshade="noshade">
      <h3>Apache Tomcat/7.0.64</h3>
      </body>

      </html>

      So, I don't know what's wrong. It seems that it's some issue with Java configuration. I followed the installation instructions mentioned, so JAVA_HOME and CATALINA_HOME are set. I also set JDK_HOME to JAVA_HOME.
      Aparently ProtonServerAdmin works but ProtonServer itself doesn't, so I can't get CEP to really work.

      When I Reload the ProtonServer App from within Tomcat's Manager API, catalina.out logs the following:

      Aug 29, 2015 6:03:04 PM org.apache.catalina.core.StandardContext reload
      INFO: Reloading Context with name [/ProtonOnWebServer] has started
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener contextDestroyed
      INFO: shutting down ProtonServletContextListener
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.server.adapter.InputServer run
      INFO: Proton server has been shut down...
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.server.adapter.OutputServer run
      INFO: Proton server has been shut down ...
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.server.timerService.TimerServiceFacade destroyTimers
      INFO: TimerServiceFacade: destroying remaining timers...
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.server.timerService.TimerServiceFacade destroyTimers
      INFO: TimerServiceFacade: destroyed remaining timers...
      Aug 29, 2015 6:03:04 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener contextDestroyed
      INFO: finished stopping servers successfully
      Aug 29, 2015 6:03:05 PM org.apache.catalina.startup.TldConfig execute
      INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener contextInitialized
      INFO: initializing ProtonServletContextListener
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener$1 run
      INFO: context real path = /opt/apache-tomcat-7.0.64/webapps/ProtonOnWebServer/
      85 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.servlet.RestServlet - The system is using the com.ibm.hrl.proton.webapp.WebApplication JAX-RS application class that is named in the javax.ws.rs.Application init-param initialization parameter.
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.server.executor.PropertiesParser loadProperties
      INFO: Properties are :
      metadatFile =EmptyDefinition.json
      inputPortNumber =3002
      outputPortNumber =3302
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener$1 run
      INFO: init: initializing metadata and all the system singletons
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener$1 run
      INFO: init: done initializing metadata, returned the following exceptions:
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.webapp.ProtonServletContextListener$1 run
      INFO: init: done initializing singletons , starting the servers...
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.server.adapter.OutputServer run
      INFO: Proton output server started, listening on output port: 3302
      Aug 29, 2015 6:03:05 PM com.ibm.hrl.proton.server.adapter.InputServer run
      INFO: Proton server Started, listening on port: 3002
      401 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.application.ApplicationProcessor - The following JAX-RS application has been processed: com.ibm.hrl.proton.webapp.WebApplication
      402 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Resources - The server has registered the JAX-RS resource class deprecated.EventResourcePlainTextDeprecated with @Path(/events-plain-text).
      402 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Resources - The server has registered the JAX-RS resource class deprecated.EventResourceJSONDeprecated with @Path(/events-json).
      402 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Resources - The server has registered the JAX-RS resource class com.ibm.hrl.proton.webapp.resources.EventResource with @Path(/events).
      408 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Providers - The class com.ibm.hrl.proton.webapp.providers.EventPlainTextMessageReader was registered as a JAX-RS MessageBodyReader provider for com.ibm.hrl.proton.runtime.event.interfaces.IEventInstance Java types and text/plain media types.
      410 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Providers - The class com.ibm.hrl.proton.webapp.providers.EventJSONMessageReader was registered as a JAX-RS MessageBodyReader provider for com.ibm.hrl.proton.runtime.event.EventInstance Java types and application/json media types.
      410 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Providers - The class com.ibm.hrl.proton.webapp.providers.EventXmlNgsiMessageReader was registered as a JAX-RS MessageBodyReader provider for com.ibm.hrl.proton.runtime.event.EventInstance Java types and application/xml media types.
      410 [http-bio-8080-exec-9] INFO org.apache.wink.server.internal.log.Providers - The class com.ibm.hrl.proton.webapp.exceptions.ResponseExceptionMapper was registered as a JAX-RS ExceptionMapper provider for com.ibm.hrl.proton.webapp.exceptions.ResponseException Java types.
      467 [http-bio-8080-exec-9] INFO org.apache.wink.common.internal.application.ApplicationFileLoader - The runtime is loading the JAX-RS application from jar:file:/opt/apache-tomcat-7.0.64/webapps/ProtonOnWebServer/WEB-INF/lib/wink-json4j-provider-1.2.0-incubating.jar!/META-INF/wink-application
      Aug 29, 2015 6:03:06 PM org.apache.catalina.core.StandardContext reload
      INFO: Reloading Context with name [/ProtonOnWebServer] is completed

      ..which doesn't seem to show any cautionary report.

      And when I perform a GET on the server, catalina.out logs just:

      Aug 29, 2015 6:05:11 PM com.ibm.hrl.proton.admin.webapp.resources.ProtonInstancesResource getInstanceState
      INFO: starting getInstanceState
      1584935 [http-bio-8080-exec-11] ERROR org.apache.wink.server.internal.RequestProcessor - An unhandled exception occurred which will be propagated to the container.

      ..so, no clues there.

      If you need more information please let me know.

      Thank you

      2015-57-24 09:57|UPDATED status| # answers= 1, accepted answer= False

        Activity

        Hide
        backlogmanager Backlog Manager added a comment -

        2015-43-24 12:43|UPDATED status: transition Finish| # answers= 1, accepted answer= False

        Show
        backlogmanager Backlog Manager added a comment - 2015-43-24 12:43|UPDATED status: transition Finish| # answers= 1, accepted answer= False

          People

          • Assignee:
            TALI Fabiana Fournier
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: