Alfresco共享Web脚本都给出了;找不到模板的模板处理器…”;错误

Alfresco共享Web脚本都给出了;找不到模板的模板处理器…”;错误,alfresco,alfresco-share,Alfresco,Alfresco Share,我尝试了“Hello World”webscript教程,但由于找不到合适的模板处理器,因此出现了500个错误(详细信息如下)。我认为这只是偶然发生的,于是尝试了其他的WebScript。enable-site.get.js(来自Martin Bergljung的博客)过去可以工作,现在不行了。create-site.post.js给我一个错误,无法将模型中的字段分配给视图;所有这些都与视图问题相当一致。事实上,所有的get-share层脚本也给出了“找不到模板的模板处理器…” 我不知道我改变了

我尝试了“Hello World”webscript教程,但由于找不到合适的模板处理器,因此出现了500个错误(详细信息如下)。我认为这只是偶然发生的,于是尝试了其他的WebScript。enable-site.get.js(来自Martin Bergljung的博客)过去可以工作,现在不行了。create-site.post.js给我一个错误,无法将模型中的字段分配给视图;所有这些都与视图问题相当一致。事实上,所有的get-share层脚本也给出了“找不到模板的模板处理器…”

我不知道我改变了什么;然而,我不明白为什么alfresco附带的某些WebScript(例如create-site.post)不能开箱即用。我猜我在设置alfresco服务器时做了一些不正确的事情;但是我不知道那会是什么。如果有人有类似的症状,那么听到一个解决方案就太好了

错误如下:

The Web Script /alfresco/service/helloworld has responded with a status of 500 - Internal Error.

500 Description:    An error inside the HTTP server which prevented it from fulfilling the request.

Message:    07050003 Cannot locate template processor for template helloworld.get.html

Exception:  org.springframework.extensions.webscripts.WebScriptException - 07050003 Cannot locate template processor for template helloworld.get.html
    org.springframework.extensions.webscripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:904)
    org.springframework.extensions.webscripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:267)
    org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147)
    org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:377)
    org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:529)
    org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:268)
    org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:378)
    org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
    org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:132)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:61)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:724)

Server: Community v4.2.0 (r63893-b12) schema 6,033
Time:   05-Aug-2014 17:17:04

问题在于我是如何运行webscript的。我在WebScript索引页面上单击它来运行它,该页面可以从repo层访问。为什么这很重要?因为共享层和repo层使用不同的身份验证方法。共享需要添加解码的最新CSRF令牌和cookie以及4个cookie、
Alfresco CSRFToken
JSESSIONID
alfLogin
alfUsername3
。如果这些都不存在,您可能会得到过多的错误,而这些错误并不总是您所期望的。例如,在使用
create site
时,我在Alfresco的开箱即用安装中遇到了上述错误(如果您不知道,它附带了内置的webscript!)以及一个
重复的短名称(site UID)错误的名称,我已经证明是唯一的,列出了所有当前的网站,它不存在


因此,我的错误可能是由于我的浏览器没有适当的身份验证cookie,或者没有正确地传递它们。这可以使用Chromium的开发工具或Firebug轻松检查。当共享的身份验证正确时,一切正常。我现在有了一个python包装器,它可以为我完成所有的工作(我真的应该放在github上!)

您在哪里以及如何定义ftl?错误仅仅是因为alfresco无法找到webscript的相应ftl文件。因此,请检查ftl的确切位置,检查名称或@mardoz/opt/alfresco/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/modules中是否有拼写错误。目前,找不到任何共享层配置脚本的FTL。问题是ftl文件与jswebscripts(据我所知,它们应该在这里)在一起,但找不到。这就是alfresco是如何到达OOTB的,因此,由于alfresco显然不是垃圾软件(并且工作得很好),我可以假设这是我的设置错误或其他原因。在启动或服务器引导过程中是否有任何错误?另外,您实际使用的版本是什么?对于“服务器”,它表示Community v4.2.0,这不是Community edition的版本号。@Mardoz 4.2.e。但这就是粘贴的错误。太棒了!我将票据添加到url(使用java类生成,用于从我的应用程序向Alfresco中进行身份验证)中,它可以正常工作。因此,我确认,这是一个浏览器身份验证“问题”。