Version 在Alfresco中,检索根版本时获取空白文件

Version 在Alfresco中,检索根版本时获取空白文件,version,alfresco,Version,Alfresco,在Alfresco中,我尝试使用以下代码检索以前版本的文件: VersionHistory history = this.versionService .getVersionHistory(nodeRef); Version version = history.getVersion(previousDeployedVersion); NodeRef previousNode = version.getFrozenS

在Alfresco中,我尝试使用以下代码检索以前版本的文件:

        VersionHistory history = this.versionService
                .getVersionHistory(nodeRef);

        Version version = history.getVersion(previousDeployedVersion);
        NodeRef previousNode = version.getFrozenStateNodeRef();
它一直工作,直到我达到1.0版,然后我得到空白内容。 这是正常的行为吗? 我还尝试了getRootVersion(),但得到了相同的结果

当我查看文件的详细信息页面,版本历史记录时,我可以“查看”文件的内容 不同的版本。1.0版在此也显示为空白

如果有人能解释一下,我将不胜感激。 谢谢

在通过虚拟webdav驱动器添加到Alfresco的文件上可以看到此行为。我发现当我通过 Alfresco资源管理器使用“添加内容”界面,一切正常,1.0版可以正确阅读。
有人能提出造成这种差异的原因吗?谢谢

如果您检查CMIS代码以获得所有版本,那么它就有点不同了。 它还将当前版本添加到列表中并进行一些检查

 public List<NodeRef> getAllVersions(String objectId) throws CMISConstraintException, CMISVersioningException,
            CMISObjectNotFoundException, CMISInvalidArgumentException, CMISPermissionDeniedException
    {
        NodeRef nodeRef = getVersionSeries(objectId, NodeRef.class, true);

        List<NodeRef> objects = new LinkedList<NodeRef>();
        NodeRef pwc = checkOutCheckInService.getWorkingCopy(nodeRef);
        if (pwc != null)
        {
            objects.add(pwc);
        }
        VersionHistory versionHistory = versionService.getVersionHistory(nodeRef);
        if (versionHistory != null)
        {
            Version current = versionService.getCurrentVersion(nodeRef);
            while (current != null)
            {
                objects.add(current.getFrozenStateNodeRef());
                current = versionHistory.getPredecessor(current);
            }
        }
        else if (pwc == null)
        {
            objects.add(nodeRef);
        }
        return objects;
    }
public List getAllVersions(String objectId)抛出CMISConstraintException、CMISVersioningException、,
CMISObjectNotFoundException、CMISInvalidArgumentException、CMISPermissionDeniedException
{
NodeRef NodeRef=getVersionSeries(objectId,NodeRef.class,true);
列表对象=新建LinkedList();
NodeRef pwc=checkOutCheckInService.getWorkingCopy(NodeRef);
如果(pwc!=null)
{
对象。添加(普华永道);
}
VersionHistory VersionHistory=versionService.getVersionHistory(nodeRef);
if(versionHistory!=null)
{
当前版本=versionService.getCurrentVersion(nodeRef);
while(当前!=null)
{
add(current.getFrozenStateNodeRef());
current=versionHistory.GetPreference(当前);
}
}
else if(pwc==null)
{
添加(nodeRef);
}
归还物品;
}

这个例子就是javascript。我需要一个java解决方案。在上面的代码中,getVersionSeries方法在哪里?如果您正在开发和搜索Alfresco的SDK,请下载它。问一个问题而不做任何研究是很容易的。