Essential Viewer docker volume error

Post Reply
nicolataddei
Posts: 1
Joined: 02 Feb 2021, 12:07

Hi guys,

I have a problem with the viewer when I try to share essential viewer folder as external volume. Docker image is built FROM tomcat:8 and in the docker-compose file, the volume property is configured in this way:
- ./eas-viewer/assets/essential_viewer:/usr/local/tomcat/webapps/essential_viewer.

When I publish with Protegé 3.5, at the end the process exits with error 500, and in the viewer the only log is " I/O error reported by XML parser processing null".

Any ideas?
Thank you
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Sorry, but we didn't create the open source Docker version but will try and help...

It sounds like your Docker is not allowing HTTP connections into the Viewer.
When you publish, the Protege tab makes an HTTP connection to the Viewer to publish your repository snapshot.

If you haven't already, make sure that your Docker container is exposing your HTTP ports (default is 8080) allowing external systems such as Protege? and your browser make requests.

In addition to Protege not being able to POST the snapshot, it sounds like Viewer cannot find the snapshot file, which is an XML file that is normally called 'reportXML.xml'

If you have more extensive logs from Protege and from the Viewer (see the file essential-viewer.log) in Tomcat's logs that would be very helpful.

Thanks

Jonathan
Essential Project Team
nicolataddei
Posts: 1
Joined: 02 Feb 2021, 12:07

Thank you for your reply.

The case is strange because if in the Dockerfile I download and unzip essential viewer, and copy some files in order to overwrite the originals, everythings works, Protegé publications too. Same essential viewer folder moved as external volume from docker-compose no.

Protegé log:

```
WARNING: Cookie rejected [JSESSIONID="FD3E35D77078D83D5E87EBB7A8CDCFB0", version:0, domain:localhost, path:/essential_viewer, expiry:null] Illegal path attribute "/essential_viewer". Path of origin: "/viewer/reportService" -- ResponseProcessCookies.processCookies()
```

And here log from essential-viewer.log:

```
2021-02-22 10:30:35,927 | ERROR | No login server base url defined. Make sure to set the loginService.base.url property in the property file /WEB-INF/security/.authn-server/authn-server.properties | : | ValidateOauthBearerToken.java | 93
2021-02-22 10:30:35,984 | ERROR | No login server OAuth Token url defined. Make sure to set the loginService.oauth.token.url property in the property file /WEB-INF/security/.authn-server/authn-server.properties | : | ValidateOauthBearerToken.java | 97
2021-02-22 10:30:35,985 | ERROR | No login server API key defined. Make sure to set the loginService.apiKey property in the property file /WEB-INF/security/.authn-server/authn-server.properties | : | ValidateOauthBearerToken.java | 101
2021-02-22 10:31:00,968 | DEBUG | Null value in variable: paramValue | : | EssentialViewerEngine.java | 701
2021-02-22 11:33:56,633 | DEBUG | Received POST: Content Type = null | : | EasReportService.java | 298
2021-02-22 11:33:56,714 | DEBUG | Received POST: Content Type = binary/octet-stream | : | EasReportService.java | 298
2021-02-22 11:33:56,931 | DEBUG | Processing newly received XML snapshot before caching... | : | EasReportService.java | 559
2021-02-22 11:33:56,976 | DEBUG | Merge transform stylesheet is: null | : | EasReportService.java | 568
2021-02-22 11:33:56,997 | ERROR | XML Transformer Exception encountered whilst merging current with received snapshot: {} | : | EasReportService.java | 584
javax.xml.transform.TransformerConfigurationException: net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing null: null
at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(SaxonTransformerFactory.java:152)
at net.sf.saxon.jaxp.SaxonTransformerFactory.newTransformer(SaxonTransformerFactory.java:111)
at com.enterprise_architecture.essential.report.EasReportService.processXML(EasReportService.java:569)
at com.enterprise_architecture.essential.report.EasReportService.receiveModelSnapshot(EasReportService.java:616)
at com.enterprise_architecture.essential.report.EasReportService.doPost(EasReportService.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.enterprise_architecture.essential.report.LoadCSRF.doFilter(LoadCSRF.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing null: null
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:793)
at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(SaxonTransformerFactory.java:149)
... 31 more
Caused by: net.sf.saxon.trans.XPathException: I/O error reported by XML parser processing null: null
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:463)
at net.sf.saxon.event.Sender.send(Sender.java:167)
at net.sf.saxon.style.StylesheetModule.sendStylesheetSource(StylesheetModule.java:274)
at net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:200)
at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:107)
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:788)
... 32 more
Caused by: java.net.MalformedURLException
at java.net.URL.<init>(URL.java:645)
at java.net.URL.<init>(URL.java:508)
at java.net.URL.<init>(URL.java:457)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:620)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:806)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:435)
... 37 more
Caused by: java.lang.NullPointerException
at java.net.URL.<init>(URL.java:550)
... 47 more
---------
net.sf.saxon.s9api.SaxonApiException: I/O error reported by XML parser processing null: null
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:793)
at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(SaxonTransformerFactory.java:149)
at net.sf.saxon.jaxp.SaxonTransformerFactory.newTransformer(SaxonTransformerFactory.java:111)
at com.enterprise_architecture.essential.report.EasReportService.processXML(EasReportService.java:569)
at com.enterprise_architecture.essential.report.EasReportService.receiveModelSnapshot(EasReportService.java:616)
at com.enterprise_architecture.essential.report.EasReportService.doPost(EasReportService.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.enterprise_architecture.essential.report.LoadCSRF.doFilter(LoadCSRF.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1634)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.sf.saxon.trans.XPathException: I/O error reported by XML parser processing null: null
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:463)
at net.sf.saxon.event.Sender.send(Sender.java:167)
at net.sf.saxon.style.StylesheetModule.sendStylesheetSource(StylesheetModule.java:274)
at net.sf.saxon.style.StylesheetModule.loadStylesheet(StylesheetModule.java:200)
at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:107)
at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:788)
... 32 more
Caused by: java.net.MalformedURLException
at java.net.URL.<init>(URL.java:645)
at java.net.URL.<init>(URL.java:508)
at java.net.URL.<init>(URL.java:457)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:620)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:806)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:435)
... 37 more
Caused by: java.lang.NullPointerException
at java.net.URL.<init>(URL.java:550)
... 47 more
2021-02-22 11:33:57,023 | DEBUG | Encountered exception, so revert to original, current XML | : | EasReportService.java | 585
2021-02-22 11:33:57,024 | ERROR | Call to processXML() returned empty string. Received XML snapshot discarded. | : | EasReportService.java | 633
```
Last edited by nicolataddei on 22 Feb 2021, 11:39, edited 1 time in total.
Post Reply