Exception when trying to create a new calendar event
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-24-2009 06:58 AM
Hullo,
while trying to create a calendar event by using a small java-developed HTTP client, I am getting the following exception:
I am using 3.0.0, and was wondering
TIA,
Emp
while trying to create a calendar event by using a small java-developed HTTP client, I am getting the following exception:
Message: Wrapped Exception (with status template): Error during processing of the template 'Expression result is undefined on line 3, column 6 in org/alfresco/slingshot/calendar/event.post.html.ftl.'. Please contact your system administrator.Exception: freemarker.core.InvalidReferenceException - Expression result is undefined on line 3, column 6 in org/alfresco/slingshot/calendar/event.post.html.ftl. freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134) freemarker.core.Dot._getAsTemplateModel(Dot.java:78) freemarker.core.Expression.getAsTemplateModel(Expression.java:89) freemarker.core.BuiltIn$existsBI._getAsTemplateModel(BuiltIn.java:639) freemarker.core.BuiltIn$existsBI.isTrue(BuiltIn.java:650) freemarker.core.IfBlock.accept(IfBlock.java:80) freemarker.core.Environment.visit(Environment.java:208) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:208) freemarker.core.EscapeBlock.accept(EscapeBlock.java:84) freemarker.core.Environment.visit(Environment.java:208) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:208) freemarker.core.Environment.process(Environment.java:188) freemarker.template.Template.process(Template.java:237) org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:201) org.alfresco.web.scripts.AbstractWebScript.renderTemplate(AbstractWebScript.java:505) org.alfresco.web.scripts.DeclarativeWebScript.renderFormatTemplate(DeclarativeWebScript.java:241) org.alfresco.web.scripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:147) org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:319) org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:320) org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:227) org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:368) org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:390) org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:273) org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntime.java:261) org.alfresco.web.scripts.AbstractRuntime.executeScript(AbstractRuntime.java:139) org.alfresco.web.scripts.servlet.WebScriptServlet.service(WebScriptServlet.java:116) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) java.lang.Thread.run(Thread.java:595)Exception: org.alfresco.service.cmr.repository.TemplateException - Error during processing of the template 'Expression result is undefined on line 3, column 6 in org/alfresco/slingshot/calendar/event.post.html.ftl.'. Please contact your system administrator. org.alfresco.repo.template.FreeMarkerProcessor.process(FreeMarkerProcessor.java:205)Exception: org.alfresco.web.scripts.WebScriptException - Wrapped Exception (with status template): Error during processing of the template 'Expression result is undefined on line 3, column 6 in org/alfresco/slingshot/calendar/event.post.html.ftl.'. Please contact your system administrator. org.alfresco.web.scripts.AbstractWebScript.createStatusException(AbstractWebScript.java:595) Alfresco Labs v3.0.0 (Stable 1526) schema 1,002 Sep 24, 2009 11:37:16 AMDiagnostics Inspect Web Script (org/alfresco/slingshot/calendar/event.post)
I am using 3.0.0, and was wondering
- if this can depend on the way I am doing my request
- if this has happened to anyone else (and maybe is fixed in a later release)
public static void test2() { HttpClient client = new HttpClient(); client.getParams().setParameter("http.useragent", "Test Client"); client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("user", "pass")); BufferedReader br = null; PostMethod method = new PostMethod("http://<alfresco-url>/alfresco/service/calendar/create"); List<NameValuePair> nvps = new ArrayList<NameValuePair>(); nvps.add(new NameValuePair("username", "username")); nvps.add(new NameValuePair("password", "password")); nvps.add(new NameValuePair("what", "CICCIO")); nvps.add(new NameValuePair("where", "IRCC")); nvps.add(new NameValuePair("desc", "DESC")); nvps.add(new NameValuePair("from", "2009-09-24")); nvps.add(new NameValuePair("start", "12:00")); nvps.add(new NameValuePair("to", "2009-09-24")); nvps.add(new NameValuePair("end", "13:00")); nvps.add(new NameValuePair("site", "SP2")); NameValuePair[] array = new NameValuePair[nvps.size()]; method.setRequestBody(nvps.toArray(array)); method.setDoAuthentication(true); try { int returnCode = client.executeMethod(method); if (returnCode == HttpStatus.SC_NOT_IMPLEMENTED) { System.err.println("The Post method is not implemented by this URI"); // still consume the response body method.getResponseBodyAsString(); } else { br = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream())); String readLine; while (((readLine = br.readLine()) != null)) { System.err.println(readLine); } } } catch (Exception e) { System.err.println(e); } finally { method.releaseConnection(); if (br != null) try { br.close(); } catch (Exception fe) { } } }
TIA,
Emp
Labels:
- Labels:
-
Archive
3 REPLIES 3
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-29-2009 10:05 AM
It appears I am the only person experiencing this issue, so I am wondering if someone could kindly copy-paste my java client code on a quick project of theirs and see if they manage to make it work…
I am getting a little bit desperate around here and would like to be sure I have to upgrade before embarking on the adventure.
TIA,
Emp
I am getting a little bit desperate around here and would like to be sure I have to upgrade before embarking on the adventure.
TIA,
Emp
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-30-2009 08:48 AM
Hi
it seems to me that you are using the worng format for the request. You are sending url style parameters in the http request body:
username=user&password=password&what=CICCIO&where=IRCC&desc=DESC&from=2009-09-24&start=12%3A00&to=2009-09-24&end=13%3A00&site=SP2
but the web script is expecting JSON, like:
{"desc":"description","end":"13:00","from":"2009/09/30","page":"calendar","site":"test2","start":"12:00","template_x002e_view_x002e_calendarContainer-addEvent-cancel-button":"","template_x002e_view_x002e_calendarContainer-addEvent-ok-button":"","to":"2009/09/30","what":"what","where":"where"}
greetings
steffen
it seems to me that you are using the worng format for the request. You are sending url style parameters in the http request body:
username=user&password=password&what=CICCIO&where=IRCC&desc=DESC&from=2009-09-24&start=12%3A00&to=2009-09-24&end=13%3A00&site=SP2
but the web script is expecting JSON, like:
{"desc":"description","end":"13:00","from":"2009/09/30","page":"calendar","site":"test2","start":"12:00","template_x002e_view_x002e_calendarContainer-addEvent-cancel-button":"","template_x002e_view_x002e_calendarContainer-addEvent-ok-button":"","to":"2009/09/30","what":"what","where":"where"}
greetings
steffen
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-30-2009 01:16 PM
THANKS! - I read thousands of posts and made thousands of tests, and yet I was still doing my JSON wrong - your hint was all that was needed to let me have another go - I will be posting the compelte working code tomorrow for anyone in need to benefit!!! 🙂
TIA,
Emp
TIA,
Emp
