Closed cybersea closed 4 years ago
Latest commit to the code fixes issue with harvesting mentioned DCAT endpoint.
Thanks for the quick fix folks!
I'm still interested to hear if there is a mechanism within the Geoportal server to selectively harvest a subset of records from a DCAT feed.
Hi Folks,
@pandzel I really want to deploy this fix on our site, but I'm getting errors when deploying the war file I built from the source code.
Would it be possible for you to build it on your end and share it? Any assistance is greatly appreciated.
@cybersea
@zguo will make a separate build for you and he will share binaries. Meanwhile, could you provide more details what's the nature of errors you are experiencing?
Thanks @pandzel and @zguo
When deploying the war, which I built with Maven on Mac, the application does not start. I tried it both on the local machine where I built it, and on a CentOS server.
The catalina.out file had the following error:
Jan07, 2019 11:55:12 AM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart
After adding these two lines to the /WEB-INF/classes/logging.properties
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
The catalina.out file shows a bit more detail
`Jan 07, 2019 11:55:12 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener com.sun.faces.config.ConfigurationException: It appears the JSP version of the container is older than 2.1 and unable to locate the EL RI expression factory, com.sun.el.ExpressionFactoryImpl. If not using JSP or the EL RI, make sure the context initialization parameter, com.sun.faces.expressionFactory, is properly set. at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:639) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:238) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1251) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:612) at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:748)
Jan 07, 2019 11:55:12 AM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart Jan 07, 2019 11:55:12 AM org.apache.catalina.core.StandardContext start SEVERE: Context [/geoportal-1.2.9-SNAPSHOT] startup failed due to previous errors`
What is a version of the Apache Tomcat (if this is Tomcat) you are trying to deploy the war file to? I am asking because the stack trace you provided suggests you are using web server which doesn't meet requirements.
Tomcat 6.0.24, JVM 1.8.0_191
The prebuilt v.1.2.9 WAR we downloaded from your wiki works on this server.
@pandzel I tested on the Mac with Tomcat 7.0.92 and the geoportal application started. So, looks like we need to updgrade to Tomcat 7. Thanks for your help.
It's a bit of a mystery that your pre-built binaries are able to work on Tomcat 6.
Hi @zguo Are you able to provide the binaries for this fix from @pandzel in the near future? I'm having trouble with the Tomcat 7 upgrade on our server and hoping to test out your pre-built version to see if the the fixes work for our application.
Hi @cybersea we will make a build and sent it to you in the next day also.
Hi @cybersea here is the link to the war file that contain the dcat fix, I did a quick test, I was able to harvest some dcat records. https://esri.box.com/s/ij0r48w4tx4j01vnpr5z4xv7uaj0pk50
Thanks very much @zguo. I was able to deploy it successfully.
Can you tell me how you are building the war file, including the version of Java? Yours does not throw errors in Tomcat6 and your war file about half the size of the war file I built from your source code (using Maven per the wiki instructions).
Glad it works for you. Internally we are still use the ant script that was created a long time ago to run the build, the build environment has java 6.
Thanks @zguo. Can you tell me the specific Java version so I can duplicate?
java version "1.6.0_43"
Thanks for all the help on this folks. We were able to get this version running and successfully harvested the problematic DCAT source.
Can you provide some tips/suggestions for harvesting from an ESRI Open data site (example: https://dnr-msp-wa.opendata.arcgis.com/) with Geoportal server v.1.2.9. I used the DCAT harvest protocol and the test was successful, but it harvested zero records. Any tips are welcome to debugging this.
Is DCAT the best way to go? Or is there a better approach?
If DCAT is the best method, is there a way to selectively harvest records from a site with DCAT (like the approach used for CSW)?