0

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

A. Vieira
  • 1,213
  • 2
  • 11
  • 27

1 Answers1

0

I've found the RPMs here. They are a new version and these showed no problems as the ones I described. They where deeper in the repository and for some reason they don't show on the "quickly jump between files" section of the repository.

Just one thing though.. As you download them, change their names by removing the '-0.0.1' from the end. It doesn't seem to affect the Proton Server and Server Admin (as you can name them as you want), but it turned out to be relevent to the Authoring Tool's RPMs in my case. Or maybe it was just the authoring tool on my web browser's memory conflicting with the new version. This because URL's of the APIs are set based on RPM names.

Thanks

A. Vieira
  • 1,213
  • 2
  • 11
  • 27
  • After deploy this four war files in tomcat/manager, the proton/cep is ready to use? or we need to run any core engine? – urb Oct 06 '15 at 15:30
  • It's ready for use. It should start right away. You can check at _http://{ip}:8080/AuthoringTool/Main.html_ that the AuthoringTool has start. You will need to configure some files within the path CATALINA_HOME/webapps/.., for each war deployed. More instructions [here](https://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/CEP_GE_-_IBM_Proactive_Technology_Online_Installation_and_Administration_Guide). The Configuration section will tell you which files to config. Good luck – A. Vieira Oct 07 '15 at 16:11