如何在一次调用中获取所有OpenText Content Server类别?

时间:2015-10-01 08:30:08

标签: java web-services opentext

我目前正在参与涉及OpenText Content Server 10.5 SP1 Update 2015-03的项目。

我试图找出是否可以通过使用Java SOAP Web服务或REST进行一次调用来获取系统类别卷中的所有类别。

在Web服务方面,我发现DocumentManagement WSDL GetCategoryDefinitionGetCategoryDefinitions公开了一些方法,这些方法需要使用categoryID作为参数。

在REST方面,我设法获得了类别的访问权限,但是经过了很长时间的旅行:

  1. 致电otcs/cs.exe?func=search.GetCategoryVolume,作为回复,提供后续电话的网址
  2. otcs/cs.exe?func=ll&ObjID=2005&objAction=XMLExport&scope=1的调用会提供系统类别卷的ID以及类别ID
  3. 致电otcs/cs.exe?func=ll&ObjID=21361&objAction=XMLExport&scope=1,提供有关该类别的必要信息。
  4. 我希望只有一个电话可以返回有关我需要的类别的所有信息。

    有可能实现吗?

2 个答案:

答案 0 :(得分:2)

这是可能的。

您需要做什么:

1。)查找类别的所有ID,您需要

的定义

2。)致电DocumentManagementWS.getCategoryDefinitions(IDs)

示例

在我的项目中,我们将所有类别存储在文件夹中,而不是存储在内容服务器的CategoryVolume中。

// INFO: variable dm is an instance of the documentManagement-Webservice

// 1.) read the folder of the Categories
Node categoryRoot = dm.getNodeByPath(configRoot.getID(), Arrays.asList("Categories"));

// 2.) find all Ids of the categories
List<Node> categories = dm.listNodes(categoryRoot.getID(), false);

if (categories != null) {
    for (Node category : categories) {
        if (category.getType().equals("Category")) {
            categoryIds.add(category.getID());
        }
    }
}

// 3.) Read all defintitions of the categories
List<AttributeGroupDefinition> categoryDefinitions = dm.getCategoryDefinitions(categoryIds);

答案 1 :(得分:1)

也许不是完全面向程序但你知道处理程序“cs.exe?func=attributes.dump”?这是您要求的UI版本。