[ https://issues.apache.org/jira/browse/SLING-12944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18022663#comment-18022663 ]
Joerg Hoh commented on SLING-12944: ----------------------------------- [~kwin] agree on the improvement of the SlingPostServlet. > SlingPostServlet fails when resource contains property not backed by JCR > property > --------------------------------------------------------------------------------- > > Key: SLING-12944 > URL: https://issues.apache.org/jira/browse/SLING-12944 > Project: Sling > Issue Type: Bug > Components: API > Affects Versions: JCR Resource 3.3.4 > Reporter: Joerg Hoh > Assignee: Konrad Windszus > Priority: Major > > I am just testing the latest JCR Resource 3.3.4 with an recent development > state of AEM, and the following POST fails with a status 422 (works fine with > JCR Resource 3.3.2) > {code} > $ curl -svo /dev/null -u admin:admin -Fsling:resourceType=ab/cd > localhost:4502/tmp/test1 > {code} > (that path did not exist yet) > {code} > 22.09.2025 12:33:27.982 *WARN* [[0:0:0:0:0:0:0:1] [1758537207973] POST > /tmp/test1 HTTP/1.1] org.apache.sling.servlets.post.impl.SlingPostServlet > Exception while handling POST on path [/tmp/test1] with operation > [org.apache.sling > .servlets.post.impl.operations.ModifyOperation] > org.apache.sling.servlets.post.exceptions.PreconditionViolatedPersistenceException: > sling:resourceType not found on /tmp/test1 > at > org.apache.sling.servlets.post.impl.helper.JCRSupportImpl.isPropertyMultiple(JCRSupportImpl.java:230) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.helper.JCRSupport.isPropertyMultiple(JCRSupport.java:116) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.isMultiValue(SlingPropertyValueHandler.java:368) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.setPropertyAsIs(SlingPropertyValueHandler.java:236) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.setProperty(SlingPropertyValueHandler.java:124) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.operations.ModifyOperation.writeContent(ModifyOperation.java:372) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.operations.ModifyOperation.doRun(ModifyOperation.java:93) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.operations.AbstractPostOperation.run(AbstractPostOperation.java:103) > [org.apache.sling.servlets.post:2.6.0] > at > org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:249) > [org.apache.sling.servlets.post:2.6.0] > [...] > Caused by: javax.jcr.PathNotFoundException: sling:resourceType not found on > /tmp/test1 > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl$11.perform(NodeImpl.java:660) > [org.apache.jackrabbit.oak-jcr:1.84.0.T20250917093322-af8592b] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl$11.perform(NodeImpl.java:653) > [org.apache.jackrabbit.oak-jcr:1.84.0.T20250917093322-af8592b] > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:236) > [org.apache.jackrabbit.oak-jcr:1.84.0.T20250917093322-af8592b] > at > org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113) > [org.apache.jackrabbit.oak-jcr:1.84.0.T20250917093322-af8592b] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl.getProperty(NodeImpl.java:653) > [org.apache.jackrabbit.oak-jcr:1.84.0.T20250917093322-af8592b] > at > org.apache.sling.servlets.post.impl.helper.JCRSupportImpl.isPropertyMultiple(JCRSupportImpl.java:227) > [org.apache.sling.servlets.post:2.6.0] > ... 195 common frames omitted > {code} > the following call works: > {code} > $ curl -u admin:admin -Ffoo=bar localhost:4502/tmp/test1 > {code} > /CC [~kwin] -- This message was sent by Atlassian Jira (v8.20.10#820010)