cancel
Showing results for 
Search instead for 
Did you mean: 

WebScript: query fails

mduduzi
Confirmed Champ
Confirmed Champ
Hi all,

I am new in webscripts. I have created the following components in /com/greenenergy/em/lab3/:

1. Descriptor xml
<webscript>    <shortname>Get ConfigDoc Test</shortname>   <description>Get ConfigDoc Test</description>   <family>Green Energy</family>   <url>/com/greenenergy/em/lab3/getconfigdoc/{serialnum}</url>   <format default="html"/>   <authentication>user</authentication></webscript>‍‍‍‍‍‍‍‍‍‍

2. Controller js
var serialnum = url.templateArgs["serialnum"];var docquery = 'select e.* from geem:equipment as e where e.geem:serialnum='+serialnum;var def = {query:docquery,language:"cmis-alfresco"};var results = search.query(def);if(results!=null) {    doc = results[0];   model.docnode = doc; }else {   status.redirect=true;   status.code=401;   status.message="Equipment document with serial number: " + serialnum + ", was not found!"; }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

3. Template ftl
<a href="${url.serviceContext}/api/node/content/${docnode.nodeRef.storeRef.protocol}/${docnode.nodeRef.storeRef.identifier}/${docnode.nodeRef.id}/${docnode.name?url}">${docnode.name}</a>‍‍‍

I am getting the following error when I call the webscipt:
08260046 Wrapped Exception (with status template): 08260338 Failed to execute script '/com/greenenergy/em/lab3/getConfigDoc.get.js (in repository store workspace://SpacesStore/Company Home/Data Dictionary/Web Scripts Extensions)': 08260337 Failed to execute search: select e.* from geem:equipment as e where e.geem:serialnum=77777‍‍‍

Please note the I have checked for the existence of geem:serialnum in the custom type geem:equipment. I am using alfresco 4 community.

Thanks!
3 REPLIES 3

lementree
Champ on-the-rise
Champ on-the-rise
Hi,

I am not familiar with CMIS query, but You can acheive the same with Lucene query.
var serialnum = url.templateArgs["serialnum"];var results = search.luceneSearch("@geem\:serialnum:\"'+serialnum+"\""); if(results!=null){   doc = results[0];   model.docnode = doc;}else{   status.redirect=true;   status.code=401;   status.message="Equipment document with serial number: " + serialnum + ", was not found!";}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

mduduzi
Confirmed Champ
Confirmed Champ
Hi,

Thanks I have now got both queries working, the Lucene and cmis.

mduduzi
Confirmed Champ
Confirmed Champ
Hi,

I am following the example on the ff url : https://partage.inria.fr/share/service/script/org/alfresco/modules/create-event.get

It is failing with the following error:
09150016 Wrapped Exception (with status template): 09150114 Failed to execute script '/com/greenenergy/em/Calendar Event/create-event.get.js (in repository store workspace://SpacesStore/Company Home/Data Dictionary/Web Scripts Extensions)': syntax error (workspace://SpacesStore/Company Home/Data Dictionary/Web Scripts Extensions/com/greenenergy/em/Calendar Event/create-event.get.js#7)‍‍‍
in the ff javascript:
<import resource="classpath:alfresco/site-webscripts/org/alfresco/callutils.js">if (args['uri']) {          var uri = unescape(args['uri']);   // Call the repo for the event information   model.event = doGetCall(uri);   model.edit = true;}else{   model.event = {};   model.event.what = model.event.location = model.event.description = '';   model.edit =false;}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍