2017-07-28 25 views
0

我有一個webscript在那裏我試圖讓兩個參數filenamecontent通過對URL時,我把這個webscript但是當我打電話webscript蒙山這個網址http://localhost:8080/alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files?filename=testFileName="testFileName"&&content="testContent"我得到這個錯誤:如何讓webscript的URL參數

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}" 
       ] 
} 

你能告訴我什麼,我做了錯誤的,或者帶我一個例子,如何調用使用兩個webscript參數在url上,然後在webscript上獲取這些參數。

+1

你的電話應該是http:// localhost:8080/alfresco/service/fr/starxpert/workflows-repository/create-save-workflow-files/testFileName/testContent,根據你的webscript定義 – Akah

回答

2

你已經宣佈你的URL中使用路徑參數:

/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" 

你的控制器假設查詢字符串參數,所以我會假設你打算這麼做。

此外,您的URL看起來不對。

要使用的查詢字符串參數的URL應該是:

/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保持有效。

+0

好吧,我會嘗試這個。你能告訴我,當我在控制器中使用'var fileName = args.filename'時,是否有正確的方法從url中獲取參數? – nmalloul

+0

是的,這應該工作。 –

+0

是的,嘗試過,所有的工作都適合我。謝謝@Jeff – nmalloul