Alfresco 4.2.c REST API:创建错误的站点

编程入门 行业动态 更新时间:2024-10-07 22:19:32
本文介绍了Alfresco 4.2.c REST API:创建错误的站点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试使用alfresco 4.2.c创建站点。rest api / alfresco / wcservice / api / sites(PUT)我正在使用admin用户,因此权限没有问题。 我能够使用露天共享用户界面成功创建网站

I am trying to create a site using alfresco 4.2.c rest api /alfresco/wcservice/api/sites (PUT) I am using admin user so no issues with permissions. I am able to create site successfully using the alfresco share UI

String objectToPost = "{\"shortName\":\"firm007\", \"title\":\"firm007\", \"description\":\"firm007\", \"visibility\":\"PRIVATE\", \"isPublic\":\"false\", \"sitePreset\":\"site-dashboard\"}"; RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); HttpEntity<String> entity = new HttpEntity<String>(objectToPost,headers); String url = PRE_URL + "/alfresco/wcservice/api/sites"+"?alf_ticket="+ TICKET; String response = restTemplate.exchange(url,HttpMethod.POST, entity, String.class, new Object[] {}).toString(); System.out.println("Created SITE response is =" + response);

我在客户端代码和露天服务器上收到500 Internal Server Error,我

I am getting 500 Internal Server Error on client side code and on alfresco server, I am getting following stack traces.

请帮助您解决此问题。 我想通过远程REST api调用创建一个露天站点

please can you help solve this issue. I want to create an alfresco site, through a remote REST api call

2014-06-17 08:39:38,232错误[freemarker.runtime] [ http-apr-8080-exec-4]模板处理错误:表达式site.shortName在org / alfresco / repository / site / site.site.lib.ftl中的第9行第56列中未定义。

2014-06-17 08:39:38,232 ERROR [freemarker.runtime] [http-apr-8080-exec-4] Template processing error: "Expression site.shortName is undefined on line 9, column 56 in org/alfresco/repository/site/site.lib.ftl."

表达式site.shortName在org / alfresco / repository / site / site.site.lib.ftl中的第9行第56列中未定义。

Expression site.shortName is undefined on line 9, column 56 in org/alfresco/repository/site/site.lib.ftl.

==> $ {url.serviceContext + / api / sites / + site.shortName}转义了$ {jsonUtils.encodeJSONString(url.serviceContext + / api / sites / + site.shortName)} [在第9行,org / alfresco / repository / site / site.lib.ftl中的第17列] 在用户指令siteJSONManagers中[在第2行, org / alfresco / repository / site / site.lib.ftl中的第1列

==> ${url.serviceContext + "/api/sites/" + site.shortName} escaped ${jsonUtils.encodeJSONString(url.serviceContext + "/api/sites/" + site.shortName)} [on line 9, column 17 in org/alfresco/repository/site/site.lib.ftl] in user-directive siteJSONManagers [on line 2, column 1 in org/alfresco/repository/site/site.lib.ftl]

freemarker.core.InvalidReferenceException:表达式site.shortName在org / alfresco / repository / site / site.site.lib.ftl中的第9行第56列中未定义。

freemarker.core.InvalidReferenceException: Expression site.shortName is undefined on line 9, column 56 in org/alfresco/repository/site/site.lib.ftl.

原因:freemarker.core.InvalidReferenceException:表达式site.shortName在org / alfresco / repository / site / site.site.lib.ftl中的第9行第56列中未定义。 在freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125)在freemarker.core.Expression.getStringValue(Expression.java:118)在freemarker.core.AddConcatExpression._getAsTemplateModel (AddConcatExpression.java:98)在freemarker.core.Expression.getAsTemplateModel(Expression.java:89)在freemarker.core.ListLiteral.getModelList(ListLiteral.java:119)在freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:91)在freemarker.core.Expression.getAsTemplateModel(Expression.java:89)在freemarker.core.Expression.getStringValue(Expression.java: 93)

Caused by: freemarker.core.InvalidReferenceException: Expression site.shortName is undefined on line 9, column 56 in org/alfresco/repository/site/site.lib.ftl. at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:125) at freemarker.core.Expression.getStringValue(Expression.java:118) at freemarker.core.AddConcatExpression._getAsTemplateModel(AddConcatExpression.java:98) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.ListLiteral.getModelList(ListLiteral.java:119) at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:91) at freemarker.core.Expression.getAsTemplateModel(Expression.java:89) at freemarker.core.Expression.getStringValue(Expression.java:93)

推荐答案

解决了这个小难题。

我没有将内容类型添加为 application / json,因此请求发出错误的树,然后转到ftl而不是json

I had not added the content-type as "application/json" hence the request was barking up the wrong tree and going to ftl instead of json

下面的代码可以在

headers.set("Content-Type", "application/json"); String objectToPost = "{\"shortName\":\"firm008\", \"title\":\"firm008\", \"description\":\"firm008\", \"visibility\":\"PRIVATE\", \"isPublic\":\"false\", \"sitePreset\":\"site-dashboard\"}"; System.out.println(objectToPost); RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); **headers.set("Content-Type", "application/json");** HttpEntity<String> entity = new HttpEntity<String>(objectToPost,headers); String url = PRE_URL + "/alfresco/wcservice/api/sites"+"?alf_ticket="+ TICKET; String response = restTemplate.exchange(url,HttpMethod.POST, entity, String.class, new Object[] {}).toString(); System.out.println("Created SITE response is =" + response);

更多推荐

Alfresco 4.2.c REST API:创建错误的站点

本文发布于:2023-11-28 11:21:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1642197.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:错误   站点   Alfresco   API   REST

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!