I would argue that errors should be given an appropriate response. Most of
the other actions that I've seen return appropriate error responses, such as
doing xpath searches with improper syntax returns a 500 or when a resource
isn't found, returning a 404. You can still output HTML with a non-200
response. Otherwise it just seems inconsistent.

-mike

On Tue, Mar 30, 2010 at 7:34 PM, Justin Edelson <[email protected]>wrote:

> Michael-
> A description of this failure should have been contained in the HTML
> response to your POST. The status code is not particularly
> informative; you must parse the (X)HTML returned by the Post Servlet.
> This is by design.
>
> Justin
>
> On Mar 30, 2010, at 5:31 PM, Michael Yin <[email protected]> wrote:
>
> > I'm on a fairly recent trunk build, and when I do save operations
> > with the
> > sling post servlet, I'm  getting OK responses back from the servlet
> > but I
> > see errors in the sling log, and trying to retrieve the node again
> > shows
> > that the changes did not happen.
> >
> > Here is one of the stack traces in the log
> >
> > org.apache.sling.servlets.post.impl.operations.ModifyOperation
> > Exception
> > during response processing.
> > javax.jcr.nodetype.ConstraintViolationException:
> > Unable to perform operation. Node is protected.
> > at
> > org.apache.jackrabbit.core.ItemValidator.checkCondition
> > (ItemValidator.java:303)
> > at
> > org.apache.jackrabbit.core.ItemValidator.checkModify
> > (ItemValidator.java:277)
> > at
> > org.apache.jackrabbit.core.PropertyImpl.checkSetValue
> > (PropertyImpl.java:235)
> > at org.apache.jackrabbit.core.PropertyImpl.setValue
> > (PropertyImpl.java:690)
> > at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2418)
> > at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1560)
> > at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2139)
> > at
> >
> org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.setPropertyAsIs(
> > SlingPropertyValueHandler.java:278)
> > at
> >
> org.apache.sling.servlets.post.impl.helper.SlingPropertyValueHandler.setProperty(
> > SlingPropertyValueHandler.java:106)
> > at
> >
> org.apache.sling.servlets.post.impl.operations.ModifyOperation.writeContent(
> > ModifyOperation.java:432)
> > at
> > org.apache.sling.servlets.post.impl.operations.ModifyOperation.doRun
> > (ModifyOperation.java:100)
> > at
> > org.apache.sling.servlets.post.AbstractSlingPostOperation.run
> > (AbstractSlingPostOperation.java:87)
> > at
> > org.apache.sling.servlets.post.impl.SlingPostServlet.doPost
> > (SlingPostServlet.java:178)
> >
> >
> > -mike
>

Reply via email to