将xml文件上载到AEM DAM中

时间:2018-01-17 17:01:02

标签: java adobe aem cq5 sling

我想将xml文件上传到AEM DAM。 xml文件是我使用InputStream读取的sitemap.xml。但是我该如何编写ResourceResolver? ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null)  现已弃用。我正在关注本教程,但面临资源解析器问题。什么是正确的语法?

2 个答案:

答案 0 :(得分:2)

您现在可以使用resourceFactory.getServiceResourceResolver(paramMap)的{​​{1}}方法。

org.apache.sling.api.resource.ResourceResolverFactory

另外,在ResourceResolver resourceResolver = null; try { Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put(ResourceResolverFactory.SUBSERVICE, "writeService"); resourceResolver = resourceFactory.getServiceResourceResolver(paramMap); } catch (LoginException e) { log.error("Login Exception : " + e); } 中的Felix config manager中将您的子服务配置为

Apache Sling Service User Mapper Service

enter image description here

您还需要使用CRX Explorer创建系统用户,然后点击用户管理并授予相关路径的权限。

答案 1 :(得分:1)

出于安全原因,不推荐使用方法resolverFactory.getAdministrativeResourceResolver()。这为您提供了一个没有任何权限检查的管理会话。

它由resolverFactory.getServiceResourceResolver()替换。这为您提供了与预配置用户的正常会话。要进行配置,请转至管理控制台(例如http://localhost:4502/system/console/configMgr)并查找 Apache Sling Service用户映射器服务的设置。

对于你的tuturial来说,只需将admin用户作为服务用户使用。

另请参阅此文档的Adobe文档:https://helpx.adobe.com/experience-manager/6-3/sites/administering/using/security-service-users.html