Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过后端webscript在Alfresco中获取节点详细信息_Java_Alfresco_Backend_Web Scripting - Fatal编程技术网

Java 通过后端webscript在Alfresco中获取节点详细信息

Java 通过后端webscript在Alfresco中获取节点详细信息,java,alfresco,backend,web-scripting,Java,Alfresco,Backend,Web Scripting,我想通过后端webscript获取节点详细信息,但我有一些问题。我尝试了两个WebScript: alfresco/service/slingshot/doclib2/node/workspace/SpacesStore/a10a0777-40f4-42da-b236-8845eb26294e alfresco/service/slingshot/doclib/node/workspace/SpacesStore/a10a0777-40f4-42da-b236-8845eb26294e 第一

我想通过后端webscript获取节点详细信息,但我有一些问题。我尝试了两个WebScript:

  • alfresco/service/slingshot/doclib2/node/workspace/SpacesStore/a10a0777-40f4-42da-b236-8845eb26294e

  • alfresco/service/slingshot/doclib/node/workspace/SpacesStore/a10a0777-40f4-42da-b236-8845eb26294e

第一个给了我这样的回答:

{
"status" : 
{
"code" : 410,
"name" : "Gone",
"description" : "Resource is no longer available at the server and no forwarding address is known."
},  

"message" : "Location is 'null'. (No permission?)",  
"exception" : "",

"callstack" : 
[ 

],

"server" : "Enterprise v4.2.0 (r57217-b28) schema 6,034",
"time" : "Jun 10, 2014 10:28:15 AM"
}
第二点:

{
        "status" : 
      {
        "code" : 500,
        "name" : "Internal Error",
        "description" : "An error inside the HTTP server which prevented it from fulfilling the request."
      },  

      "message" : "05100028 Wrapped Exception (with status template): 05100077 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/documentlibrary\/node.get.js': 05100076 Site container UploadComponent.java does not refer to a folder.",  
      "exception" : "org.springframework.extensions.webscripts.WebScriptException - 05100028 Wrapped Exception (with status template): 05100077 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/documentlibrary\/node.get.js': 05100076 Site container UploadComponent.java does not refer to a folder.",

      "callstack" : 
      [ 
          ""      ,"org.alfresco.repo.site.SiteServiceException: 05100076 Site container UploadComponent.java does not refer to a folder."
          ,"
更新:


您可以注意到,在第二个WebScript中,错误表明我的文件
UploadComponent.java
没有引用文件夹。此脚本是否将cm:文件夹作为参数。如果有其他web脚本从nodeRef返回节点详细信息(属性:nodeRef、mimetype、size…),请将其显示给我。谢谢

您可以使用一些webscript,例如,但我认为最简单的可能是Slingshot文档库节点webscript,其ID为org/alfresco/Slingshot/documentlibrary/Node.get。您可以在
http://localhost:8080/alfresco/service/script/org/alfresco/slingshot/documentlibrary/node.get

对于具有noderef
workspace://SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90
URL是
http://localhost:8080/alfresco/service/slingshot/doclib/node/workspace/SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90,返回的JSON类似于:

{
"metadata":
{
  "parent":
  {
     "nodeRef": "workspace://SpacesStore/7f4e374c-7c7c-4356-bf8f-0ec6bfc5eac4",
     "permissions":
     {
        "userAccess":
        {
           "permissions": true,
           "edit": true,
           "delete": true,
           "cancel-checkout": false,
           "create": true
        }
     }
  },
  "onlineEditing": true
},
"item":
{
"nodeRef": "workspace://SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90",
"nodeType": "cm:content",
"type": "document",
"mimetype": "application\/vnd.ms-project",
"isFolder": false,
"isLink": false,
"fileName": "testPROJECT.mpx",
"displayName": "testPROJECT.mpx",
"status": "",
"title": "testPROJECT.mpx",
"description": "",
"author": "",
"createdOn": "2014-06-10T15:17:33.791+01:00",
"createdBy": "Administrator",
"createdByUser": "admin",
"modifiedOn": "2014-06-10T15:17:42.258+01:00",
"modifiedBy": "Administrator",
"modifiedByUser": "admin",
"lockedBy": "",
"lockedByUser": "",
"size": "3555",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90/testPROJECT.mpx",
"webdavUrl": "\/webdav\/User%20Homes\/administrator\/testPROJECT.mpx",
"actionSet": "document",
"tags": [],
"activeWorkflows": "",
"isFavourite": false,
"likes":
{
  "isLiked": false,
  "totalLikes": 0
},
"location":
{
  "repositoryId": "8ff64edd-57d3-4198-ac3d-8386f47bf5bb",
  "site": "",
  "siteTitle": "",
  "container": "",
  "path": "\/User Homes\/administrator",
  "file": "testPROJECT.mpx",
  "parent":
  {
     "nodeRef": "workspace:\/\/SpacesStore\/7f4e374c-7c7c-4356-bf8f-0ec6bfc5eac4"
  }
},
"permissions":
{
  "inherited": true,
  "roles":
  [
     "ALLOWED;administrator;All;INHERITED",
     "ALLOWED;ROLE_OWNER;All;INHERITED"
  ],
  "userAccess":
  {
     "permissions": true,
     "edit": true,
     "delete": true,
     "cancel-checkout": false,
     "create": true
  }
},
"custom": {},
"actionLabels":
{
}
}
}
我相信这就是你想要的所有元数据和属性。它是Share使用的webscript,因此应该经过良好的测试和使用。从location部分可以看到,它是一个webscript,对基于站点的节点和非站点的节点都同样有效


(如果遇到问题,最好确保在企业版或社区版上运行最新的service pack)

您可以使用一些webscript,例如,但我认为最简单的可能是Slingshot文档库节点webscript,ID
org/alfresco/slingshot/documentlibrary/node.get
。您可以在
http://localhost:8080/alfresco/service/script/org/alfresco/slingshot/documentlibrary/node.get

对于具有noderef
workspace://SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90
URL是
http://localhost:8080/alfresco/service/slingshot/doclib/node/workspace/SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90,返回的JSON类似于:

{
"metadata":
{
  "parent":
  {
     "nodeRef": "workspace://SpacesStore/7f4e374c-7c7c-4356-bf8f-0ec6bfc5eac4",
     "permissions":
     {
        "userAccess":
        {
           "permissions": true,
           "edit": true,
           "delete": true,
           "cancel-checkout": false,
           "create": true
        }
     }
  },
  "onlineEditing": true
},
"item":
{
"nodeRef": "workspace://SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90",
"nodeType": "cm:content",
"type": "document",
"mimetype": "application\/vnd.ms-project",
"isFolder": false,
"isLink": false,
"fileName": "testPROJECT.mpx",
"displayName": "testPROJECT.mpx",
"status": "",
"title": "testPROJECT.mpx",
"description": "",
"author": "",
"createdOn": "2014-06-10T15:17:33.791+01:00",
"createdBy": "Administrator",
"createdByUser": "admin",
"modifiedOn": "2014-06-10T15:17:42.258+01:00",
"modifiedBy": "Administrator",
"modifiedByUser": "admin",
"lockedBy": "",
"lockedByUser": "",
"size": "3555",
"version": "1.0",
"contentUrl": "api/node/content/workspace/SpacesStore/357b6dad-d434-4a46-a7e0-731df50e5e90/testPROJECT.mpx",
"webdavUrl": "\/webdav\/User%20Homes\/administrator\/testPROJECT.mpx",
"actionSet": "document",
"tags": [],
"activeWorkflows": "",
"isFavourite": false,
"likes":
{
  "isLiked": false,
  "totalLikes": 0
},
"location":
{
  "repositoryId": "8ff64edd-57d3-4198-ac3d-8386f47bf5bb",
  "site": "",
  "siteTitle": "",
  "container": "",
  "path": "\/User Homes\/administrator",
  "file": "testPROJECT.mpx",
  "parent":
  {
     "nodeRef": "workspace:\/\/SpacesStore\/7f4e374c-7c7c-4356-bf8f-0ec6bfc5eac4"
  }
},
"permissions":
{
  "inherited": true,
  "roles":
  [
     "ALLOWED;administrator;All;INHERITED",
     "ALLOWED;ROLE_OWNER;All;INHERITED"
  ],
  "userAccess":
  {
     "permissions": true,
     "edit": true,
     "delete": true,
     "cancel-checkout": false,
     "create": true
  }
},
"custom": {},
"actionLabels":
{
}
}
}
我相信这就是你想要的所有元数据和属性。它是Share使用的webscript,因此应该经过良好的测试和使用。从location部分可以看到,它是一个webscript,对基于站点的节点和非站点的节点都同样有效


(如果您遇到问题,最好确保在企业版或社区版上运行最新的service pack)

Pro提示-您可以在
http://localhost:8080/alfresco/service/index/uri/

您应该尽可能使用CMIS web脚本,这也使得请求变得最简单

http://<MyAlfresco>/alfresco/service/cmis/i/8826b8f4-9f61-41a4-9f21-14ad5b6395ab

我还检查了,这将为您提供任何节点的属性,无论它位于Alfresco实例中的何处。

Pro提示-您可以在
http://localhost:8080/alfresco/service/index/uri/

您应该尽可能使用CMIS web脚本,这也使得请求变得最简单

http://<MyAlfresco>/alfresco/service/cmis/i/8826b8f4-9f61-41a4-9f21-14ad5b6395ab

我还检查了,这将为您提供任何节点的属性,无论它位于您的Alfresco实例中的何处。

您所说的“节点详细信息”是什么意思?所有财产?父母路径?权限?答案取决于你想要什么…@Gagravarr我更新了帖子。你说的“节点细节”是什么意思?所有财产?父母路径?权限?答案取决于你想要什么…@Gagravarr我更新了帖子。亲爱的Gagravarr,我已经用过那个webScript了。仅当节点位于documentLibrary或RootNode内时,它才起作用。但我想要的是得到一个节点的属性,不管它的位置是什么。我在问题中写的错误发生在我直接调用webScript以获取站点文件夹
中的内容时,例如:Sites/mysite/content.txt
webScript表示content.txt不引用文件夹。请检查是否存在相同的问题?请看我的示例,它适用于随机非站点文件夹中的节点。通常情况下,您不应该将内容直接放在站点的根目录中,内容应该放在站点内的容器文件夹中亲爱的Gagravarr,我已经使用了webScript。仅当节点位于documentLibrary或RootNode内时,它才起作用。但我想要的是得到一个节点的属性,不管它的位置是什么。我在问题中写的错误发生在我直接调用webScript以获取站点文件夹
中的内容时,例如:Sites/mysite/content.txt
webScript表示content.txt不引用文件夹。请检查是否存在相同的问题?请看我的示例,它适用于随机非站点文件夹中的节点。您通常不应该将内容直接放在站点的根目录中,内容应该放在站点内的容器文件夹中。我个人更喜欢使用JSON响应,但您的webscript似乎满足了我的需要。我会用它,直到我找到另一个选择。非常感谢。如果您喜欢JSON,那么您可以使用Alfresco浏览器绑定:我个人更喜欢使用JSON响应,但您的webscript似乎满足了我的需要。我会用它,直到我找到另一个选择。非常感谢。如果您喜欢JSON,则可以使用Alfresco浏览器绑定: