如何获取webscript url参数

时间:2017-07-28 14:08:44

标签: alfresco alfresco-share alfresco-webscripts

我有一个webscript,当我调用这个webscript时,我尝试在url上传递两个参数filenamecontent,但是当我调用webscript时,这个url http://localhost:8080/alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files?filename=testFileName="testFileName"&&content="testContent"我得到了这个错误:

The Web Script /alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files has responded with a status of 404 - Not Found.

404 Description:    Requested resource is not available.

Message:    06280086 Script url /fr/starxpert/workflows-repository/create-save-workflow-files does not map to a Web Script.

有我的webscript文件:

createAndSaveWorkflowFile.get.desc.xml:

<webscript> 
  <shortname>Creation and save new workflow file</shortname> 
  <description>create an workflow JSON file and save it into StarXpert Workflow repository</description>
  <url>/fr/starxpert/workflows-repository/create-save-workflow-files/{filename}/{content}</url> 
  <format default="json">extension</format> 
  <authentication>user</authentication> 
  <family>StarXpert</family>
</webscript>

createAndSaveWorkflowFile.get.js:

var fileName=args.filename;
var properties=args.content;
logger.log(fileName);
model.filename=fileName;
model.properties=properties;

createAndSaveWorkflowFile.get.json.ftl:

{
    "arguments":[
                    "fileName":"${fileName}",
                    "properties":"${properties}"
                ]   
}

你能告诉我我做错了什么,或者举个例子来说明如何使用url上的两个参数调用webscript,然后在webscript上获取这些参数。

1 个答案:

答案 0 :(得分:2)

您已声明您的网址使用路径参数:

/fr/starxpert/workflows-repository/create-save-workflow-files/{filename}/{content}

但是当你调用脚本时,你正在使用查询字符串参数:

/alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files?filename=testFileName="testFileName"&&content="testContent"

您的控制器采用查询字符串参数,因此我将假设您的意图。

此外,您的网址已关闭。

要使用查询字符串参数,您的网址应为:

/alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files?filename=testFileName&content=testContent

如果您希望描述符与之匹配,则需要将其更改为:

<url>/fr/starxpert/workflows-repository/create-save-workflow-files?filename={filename}&amp;content={content}</url>

请注意,&符号已转义,因此XML仍然有效。