Liferay - 无法将文档库项目附加到远程门户中的JournalArticle

时间:2015-10-26 09:16:16

标签: java liferay

我一直在尝试在远程门户中创建本地JournalArticle的副本。但即使我在文章的content部分提供了正确的URL,它也不会出现在门户网站中。我已经在这个问题上坚持了几天。

我按如下方式创建文章。

JournalArticleSoap journalArticleSoap = journalSoap.addArticle(
    remoteGroupId,
    article.getFolderId(),
    article.getClassNameId(),
    article.getClassPK(),
    "",
    true,
    LocalizationUtil.getAvailableLanguageIds(article.getTitle()),
    titleMapValues.toArray(new String[titleMapValues.size()]),
    LocalizationUtil.getAvailableLanguageIds(article.getDescription()),
    descriptionMapValues.toArray(new String[descriptionMapValues.size()]),
    content,
    article.getType(),
    article.getStructureId(),
    newRemoteTemplate.getTemplateKey(),
    article.getLayoutUuid(),
    displayDate.get(Calendar.MONTH),
    displayDate.get(Calendar.DAY_OF_MONTH),
    displayDate.get(Calendar.YEAR),
    displayDate.get(Calendar.HOUR),
    displayDate.get(Calendar.MINUTE),
    0, 0, 0, 0, 0, //expirationDate
    article.getExpirationDate() == null,
    0, 0, 0, 0, 0,
    true,
    article.isIndexable(),
    article.getUrlTitle(),
    serviceContext);

其中journalSoap是远程门户的JournalArticleServiceSoap,article是本地JournalArticle。

内容如下。

<?xml version="1.0"?>

<root available-locales="en_US" default-locale="en_US">
    <dynamic-element name="Text2001" type="text" index-type="keyword" index="0">
        <dynamic-content language-id="en_US"><![CDATA[Desert image]]></dynamic-content>
    </dynamic-element>
    <dynamic-element name="Documents_and_Media2051" type="document_library" index-type="keyword" index="0">
        <dynamic-content language-id="en_US"><![CDATA[/documents/20101/20201/Photo1]]></dynamic-content>
    </dynamic-element>
</root>

在上面的url(/documents/20101/20201/Photo1)中,20101是远程门户的全局组ID,20201是远程文档库中创建Photo1的文件夹的id。当我转到http://host:port/documents/20101/20201/Photo1时,我会下载文件。但是,远程门户中的文章仍然如下所示。

enter image description here

正如你所看到的,我正在获得文本动态元素&#34; Desert image&#34;在远程文章中。但我没有从文档库中获取动态元素到远程文章中。任何人都可以让我知道我在做错了。

2 个答案:

答案 0 :(得分:0)

只需从前端创建一个结构化的(仅包含D&amp; M上传器字段)文章,并检查数据库中的XML,您将发现确切出错的区别。

答案 1 :(得分:0)

问题是我正在从网址中删除uuid和创建时间戳。

当我用/documents/20101/20201/Photo1替换/documents/20101/20201/Photo1/uuid?t=timestamp时,它开始工作了。这里uuid是uuid,时间戳是文件Photo1的创建时间(长类型)。