Hi Uwe,
The servlet expects the template files in the servlet context. It
doesn't look into the class path.
There is currently no way to configure that. Sorry. You have to put the
template files into the right place.
You can also open an issue and wait for the next release...
- Florian
Hi Florian,
Hope you are well!
We are developing a spring boot application with a CMIS interface.
Browser and atom bindings work fine so far.
But WS binding has an issue:
2018-07-02 12:35:48.712+0200 [] [http-nio-8080-exec-2] ERROR
org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[cmisWebServicesServlet]
- log: Allocate exception for servlet [cmisWebServicesServlet]
javax.servlet.ServletException: Cannot find file
'/WEB-INF/cmis10/CMISWS-Service.wsdl.template'!
at
org.apache.chemistry.opencmis.server.impl.webservices.CmisWebServicesServlet.readFile(CmisWebServicesServlet.java:131)
at
org.apache.chemistry.opencmis.server.impl.webservices.CmisWebServicesServlet.init(CmisWebServicesServlet.java:108)
at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:789)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:677)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
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)
The spring boot application contains these chemistry libraries:
BOOT-INF/lib/chemistry-opencmis-server-bindings-war-1.1.0.war
BOOT-INF/lib/chemistry-opencmis-server-async-1.1.0.jar
BOOT-INF/lib/chemistry-opencmis-server-bindings-1.1.0.jar
BOOT-INF/lib/chemistry-opencmis-server-support-1.1.0.jar
BOOT-INF/lib/chemistry-opencmis-commons-impl-1.1.0.jar
BOOT-INF/lib/chemistry-opencmis-commons-api-1.1.0.jar
As far as I have debugged this, CmisWebServicesServlet.readFile() uses
ServletContext.getResourceAsStream(), which in turn, via
org.apache.catalina.webresources.DirResourceSet.getResource(String),
looks in temporary docbase (e.g.
/tmp/tomcat-docbase.7280448334050881967.8080) which is empty.
Do you have some advice how to resolve this?
Thanks!
Uwe