0

我使用与 Tomcat 服务器和 Oracle 10g 数据库捆绑的 Liferay 6.1.1-ce-ga2。我的目标是插入一些内容,作为期刊文章,并将它们显示在 Asset Publisher 中(具有结构和模板,已经工作)。

我使用JournalArticleServiceSoap.addArticle(...)了正确的字段(groupid, structureid, templateid, ...)。内容已“正确”插入数据库中,我可以在管理员内容面板的 Web 内容中看到它们。内容也"Approved"有地位。这是通过设置完成的:

serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH)

但是,我看不到插入的内容与 Asset Publisher 中的其他内容一起显示,直到我再次打开它进行编辑并单击发布按钮(即使没有进行任何更改)。然后按预期发布内容。问题是内容的数量。它大约是 600,所以我无法为每个人执行此操作。

我不明白这是怎么回事以及如何解决?换句话说,我需要做什么才能使 Web 服务插入的 Web 内容自动显示在 Asset Publisher 中?

或者,究竟做了"Publish"什么,以便我可以尝试使用 SOAP 服务(或插入后的 SQL)以编程方式重现?

预先感谢您的帮助。

我还在 Liferay 的论坛中发布了相同的问题:显示由 SOAP Web 服务插入的 JournalArticle 的问题

4

3 回答 3

0

您可以尝试记录从 Liferay 访问的数据库,并查看手动保存文章后会更改的内容。此处将 hibernate 的日志记录级别设置为 info 或 debug。

于 2013-03-29T06:35:07.770 回答
0

你是这样设置 serviceContext 的吗?

ServiceContext serviceContext = new ServiceContext();
serviceContext.setAddGuestPermissions(true);
serviceContext.setAddGroupPermissions(true);
serviceContext.setScopeGroupId(groupId);
serviceContext.setWorkflowAction(WorkflowConstants.ACTION_PUBLISH);
于 2013-03-29T18:43:53.237 回答
0

您必须像这样设置 serviceContext:

   ServiceContext serviceContext = new ServiceContext();
    //serviceContext.setAddGuestPermissions(true);
    //serviceContext.setAddGroupPermissions(true);
    serviceContext.setScopeGroupId(groupId);
    serviceContext.setWorkflowAction(1);
    serviceContext.setIndexingEnabled(true);

serviceContext.setIndexingEnabled(true); 非常重要。

以下代码不是必须的。

serviceContext.setAddGuestPermissions(true);

serviceContext.setAddGroupPermissions(true);
于 2016-05-22T14:25:30.887 回答