[ https://issues.apache.org/jira/browse/SLING-9896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Munteanu updated SLING-9896: ----------------------------------- Fix Version/s: (was: Servlets POST 2.4.4) Servlets POST 2.4.2 > change statuscode in SlingPostServlet for PersistenceException > -------------------------------------------------------------- > > Key: SLING-9896 > URL: https://issues.apache.org/jira/browse/SLING-9896 > Project: Sling > Issue Type: Improvement > Components: Servlets > Affects Versions: Servlets Post 2.3.36 > Reporter: Jörg Hoh > Priority: Major > Fix For: Servlets POST 2.4.2 > > Time Spent: 9h 20m > Remaining Estimate: 0h > > When the SlingPostServlet receives a PersistenceExceptions while trying to > persist the changes, it should not throw an internal server error, but a > statuscode of 405, because this behavior is expected. > Example stacktrace: > {noformat} > 11.11.2020 11:18:38.418 *ERROR* [172.16.123.101 [1605093518414] POST > /foo/bar.html HTTP/1.1] > org.apache.sling.servlets.post.impl.operations.ModifyOperation > Exception during response processing. > org.apache.sling.api.resource.PersistenceException: Unable to create node at > /foo/bar.html > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.create(JcrResourceProvider.java:477) > [org.apache.sling.jcr.resource:3.0.22] > at > org.apache.sling.resourceresolver.impl.providers.stateful.AuthenticatedResourceProvider.create(AuthenticatedResourceProvider.java:182) > [org.apache.sling.resourceresolver:1.7.0] > at > org.apache.sling.resourceresolver.impl.helper.ResourceResolverControl.create(ResourceResolverControl.java:381) > [org.apache.sling.resourceresolver:1.7.0] > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.create(ResourceResolverImpl.java:979) > [org.apache.sling.resourceresolver:1.7.0] > at > org.apache.sling.servlets.post.impl.operations.AbstractCreateOperation.deepGetOrCreateResource(AbstractCreateOperation.java:598) > [org.apache.sling.servlets.post:2.3.36] > at > org.apache.sling.servlets.post.impl.operations.AbstractCreateOperation.processCreate(AbstractCreateOperation.java:146) > [org.apache.sling.servlets.post:2.3.36] > at > org.apache.sling.servlets.post.impl.operations.ModifyOperation.doRun(ModifyOperation.java:83) > [org.apache.sling.servlets.post:2.3.36] > at > org.apache.sling.servlets.post.impl.operations.AbstractPostOperation.run(AbstractPostOperation.java:99) > [org.apache.sling.servlets.post:2.3.36] > at > org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:233) > [org.apache.sling.servlets.post:2.3.36] > at > org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) > [org.apache.sling.api:2.22.0] > at > org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) > [org.apache.sling.api:2.22.0] > [...] > Caused by: javax.jcr.nodetype.ConstraintViolationException: No default node > type available for /foo/bar.html > at > org.apache.jackrabbit.oak.plugins.tree.TreeUtil.addChild(TreeUtil.java:234) > [org.apache.jackrabbit.oak-security-spi:1.35.0] > at > org.apache.jackrabbit.oak.jcr.delegate.NodeDelegate.addChild(NodeDelegate.java:690) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl$5.perform(NodeImpl.java:314) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl$5.perform(NodeImpl.java:280) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:209) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:280) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.jackrabbit.oak.jcr.session.NodeImpl.addNode(NodeImpl.java:265) > [org.apache.jackrabbit.oak-jcr:1.35.0] > at > org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.create(JcrResourceProvider.java:448) > [org.apache.sling.jcr.resource:3.0.22] > ... 154 common frames omitted > {noformat} > Discussion at > https://www.mail-archive.com/dev@sling.apache.org/msg100122.html (dev@sling) > PR: https://github.com/apache/sling-org-apache-sling-servlets-post/pull/7 -- This message was sent by Atlassian Jira (v8.3.4#803005)