У меня нет опыта работы с Linux, поэтому, пожалуйста, будьте осторожны со мной.
Я настроил веб-сервер CentOS под управлением Apache Tomcat. На этом сервере размещено веб-приложение ART-DECOR, в котором используется Orbeon Xforms.
Я получаю сообщение об ошибке при использовании веб-приложения, которое оставляет трассировку стека в файле журнала WebApp, см. Ниже.
Я уверен, что именно это исключение, по-видимому, возникает из Orbeon, что и вызывает проблему.
Из того, что я могу разглядеть, это проблема с приложением, способным читать XML-файл на стороне сервера, так как я не вижу никаких веб-вызовов с консоли браузера во время его выброса. Файл, кажется, на месте, поэтому я уверен, что это будет проблема с разрешением, если мои предположения верны, но я не знаю достаточно о Tomcat, чтобы знать, правильно ли разрешается относительный путь.
[root@localhost config]# pwd
/usr/share/tomcat/webapps/art-decor/WEB-INF/resources/config
[root@localhost config]# ls
feedback.xhtml prologue-servlet.xpl theme
form-builder-permissions.xml properties-local-dev.xml.template theme-error.xsl
log4j.xml properties-local-prod.xml.template theme-examples.xsl
not-found.xhtml properties-local.xml theme-main-art-decor.xsl
processors-local.xml.template properties-local.xml.template theme-plain.xsl
prologue-portlet.xpl README.txt unauthorized.xhtml
[root@localhost config]#
The error from the log file is below....
2018-12-29 13:26:54,763 ERROR ProcessorService -
+----------------------------------------------------------------------------------------------------------------------+
|An Error has Occurred |
|----------------------------------------------------------------------------------------------------------------------|
|Broken pipe |
|----------------------------------------------------------------------------------------------------------------------|
|Application Call Stack |
|----------------------------------------------------------------------------------------------------------------------|
|oxf:/config/prologue-servlet.xpl |executing processor | 41|
|······················································································································|
|element=<p:processor name="oxf:page-flow">[...]</p:processor> |
|name ={http://www.orbeon.com/oxf/processors}page-flow |
|----------------------------------------------------------------------------------------------------------------------|
|----------------------------------------------------------------------------------------------------------------------|
|Exception: java.io.IOException |
|----------------------------------------------------------------------------------------------------------------------|
|sun.nio.ch.FileDispatcherImpl |write0 |FileDispatcherImpl.java | |
|sun.nio.ch.SocketDispatcher |write |SocketDispatcher.java | 47|
|sun.nio.ch.IOUtil |writeFromNativeBuffer |IOUtil.java | 93|
|sun.nio.ch.IOUtil |write |IOUtil.java | 65|
|sun.nio.ch.SocketChannelImpl |write |SocketChannelImpl.java | 471|
|org.apache.tomcat.util.net.NioChannel |write |NioChannel.java | 134|
|org.apache.tomcat.util.net.NioBlockingSelector |write |NioBlockingSelector.java | 101|
|org.apache.tomcat.util.net.NioSelectorPool |write |NioSelectorPool.java | 144|
|apache.tomcat.util.net.NioEndpoint$NioSocketWrapper|doWrite |NioEndpoint.java |1225|
|org.apache.tomcat.util.net.SocketWrapperBase |doWrite |SocketWrapperBase.java | 743|
|org.apache.tomcat.util.net.SocketWrapperBase |writeBlocking |SocketWrapperBase.java | 513|
|org.apache.tomcat.util.net.SocketWrapperBase |write |SocketWrapperBase.java | 451|
|coyote.http11.Http11OutputBuffer$SocketOutputBuffer|doWrite |Http11OutputBuffer.java | 530|
|rg.apache.coyote.http11.filters.ChunkedOutputFilter|doWrite |ChunkedOutputFilter.java | 112|
|org.apache.coyote.http11.Http11OutputBuffer |doWrite |Http11OutputBuffer.java | 189|
|org.apache.coyote.Response |doWrite |Response.java | 599|
|org.apache.catalina.connector.OutputBuffer |realWriteBytes |OutputBuffer.java | 328|
|----------------------------------------------------------------------------------------------------------------------|
|Exception: org.apache.catalina.connector.ClientAbortException |
|----------------------------------------------------------------------------------------------------------------------|
|org.apache.catalina.connector.OutputBuffer |realWriteBytes |OutputBuffer.java | 333|
|org.apache.catalina.connector.OutputBuffer |appendByteArray |OutputBuffer.java | 728|
|org.apache.catalina.connector.OutputBuffer |append |OutputBuffer.java | 657|
|org.apache.catalina.connector.OutputBuffer |writeBytes |OutputBuffer.java | 368|
|org.apache.catalina.connector.OutputBuffer |write |OutputBuffer.java | 346|
|org.apache.catalina.connector.CoyoteOutputStream |write |CoyoteOutputStream.java | 96|
|org.orbeon.oxf.util.NetUtils |copyStream |NetUtils.java | 235|
|org.orbeon.oxf.processor.ResourceServer |serveResource |ResourceServer.java | 128|
|xf.controller.PageFlowControllerProcessor$FileRoute|process |PageFlowControllerProcessor.sc| 453|
|g.orbeon.oxf.controller.PageFlowControllerProcessor|start |PageFlowControllerProcessor.sc| 162|
|g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run |PipelineProcessor.java | 618|
|----------------------------------------------------------------------------------------------------------------------|
|Exception: org.orbeon.oxf.common.ValidationException |
|----------------------------------------------------------------------------------------------------------------------|
|org.orbeon.oxf.common.OrbeonLocationException$ |wrapException |OrbeonLocationException.scala | 60|
|org.orbeon.oxf.common.OrbeonLocationException |wrapException |OrbeonLocationException.scala | |
|g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run |PipelineProcessor.java | 620|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren |PipelineProcessor.java | 680|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|start |PipelineProcessor.java | 615|
|f.processor.pipeline.choose.ConcreteChooseProcessor|start |ConcreteChooseProcessor.java | 231|
|g.orbeon.oxf.processor.pipeline.PipelineProcessor$4|run |PipelineProcessor.java | 618|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren |PipelineProcessor.java | 680|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|start |PipelineProcessor.java | 615|
|org.orbeon.oxf.pipeline.InitUtils$ |runProcessor |InitUtils.scala | 82|
|org.orbeon.oxf.webapp.ProcessorService |service |ProcessorService.scala | 40|
|nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply$mcV$sp |OrbeonServlet.scala | 79|
|nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply |OrbeonServlet.scala | 72|
|nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply |OrbeonServlet.scala | 72|
|org.orbeon.oxf.util.ScalaUtils$ |withRootException |ScalaUtils.scala | 83|
|orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply$mcV$sp |OrbeonServlet.scala | 72|
|orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply |OrbeonServlet.scala | 72|
|orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply |OrbeonServlet.scala | 72|
|org.orbeon.oxf.util.DynamicVariable |withValue |DynamicVariable.scala | 42|
|org.orbeon.oxf.servlet.OrbeonServlet |service |OrbeonServlet.scala | 71|
|javax.servlet.http.HttpServlet |service |HttpServlet.java | 741|
|org.apache.catalina.core.ApplicationFilterChain |internalDoFilter |ApplicationFilterChain.java | 231|
|org.apache.catalina.core.ApplicationFilterChain |doFilter |ApplicationFilterChain.java | 166|
|org.apache.tomcat.websocket.server.WsFilter |doFilter |WsFilter.java | 53|
|org.apache.catalina.core.ApplicationFilterChain |internalDoFilter |ApplicationFilterChain.java | 193|
|org.apache.catalina.core.ApplicationFilterChain |doFilter |ApplicationFilterChain.java | 166|
|org.apache.catalina.core.StandardWrapperValve |invoke |StandardWrapperValve.java | 199|
|org.apache.catalina.core.StandardContextValve |invoke |StandardContextValve.java | 96|
|org.apache.catalina.authenticator.AuthenticatorBase|invoke |AuthenticatorBase.java | 490|
|org.apache.catalina.core.StandardHostValve |invoke |StandardHostValve.java | 139|
|org.apache.catalina.valves.ErrorReportValve |invoke |ErrorReportValve.java | 92|
|org.apache.catalina.valves.AbstractAccessLogValve |invoke |AbstractAccessLogValve.java | 668|
|org.apache.catalina.core.StandardEngineValve |invoke |StandardEngineValve.java | 74|
|org.apache.catalina.connector.CoyoteAdapter |service |CoyoteAdapter.java | 343|
|org.apache.coyote.http11.Http11Processor |service |Http11Processor.java | 408|
|org.apache.coyote.AbstractProcessorLight |process |AbstractProcessorLight.java | 66|
|rg.apache.coyote.AbstractProtocol$ConnectionHandler|process |AbstractProtocol.java | 834|
|.apache.tomcat.util.net.NioEndpoint$SocketProcessor|doRun |NioEndpoint.java |1417|
|org.apache.tomcat.util.net.SocketProcessorBase |run |SocketProcessorBase.java | 49|
|java.util.concurrent.ThreadPoolExecutor |runWorker |ThreadPoolExecutor.java |1149|
|java.util.concurrent.ThreadPoolExecutor$Worker |run |ThreadPoolExecutor.java | 624|
|che.tomcat.util.threads.TaskThread$WrappingRunnable|run |TaskThread.java | 61|
|java.lang.Thread |run |Thread.java | 748|
+----------------------------------------------------------------------------------------------------------------------+