我一直在尝试在远程门户中创建本地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
时,我会下载文件。但是,远程门户中的文章仍然如下所示。
正如你所看到的,我正在获得文本动态元素&#34; Desert image&#34;在远程文章中。但我没有从文档库中获取动态元素到远程文章中。任何人都可以让我知道我在做错了。
答案 0 :(得分:0)
只需从前端创建一个结构化的(仅包含D&amp; M上传器字段)文章,并检查数据库中的XML,您将发现确切出错的区别。
答案 1 :(得分:0)
问题是我正在从网址中删除uuid和创建时间戳。
当我用/documents/20101/20201/Photo1
替换/documents/20101/20201/Photo1/uuid?t=timestamp
时,它开始工作了。这里uuid是uuid,时间戳是文件Photo1的创建时间(长类型)。