[ 
https://issues.apache.org/jira/browse/ISIS-966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Haywood resolved ISIS-966.
------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: core-1.9.0)
                   core-1.8.0

> Restful viewer doesn't return a JSON representation when hits a 500 
> internally (instead getting an HTML page)
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-966
>                 URL: https://issues.apache.org/jira/browse/ISIS-966
>             Project: Isis
>          Issue Type: Bug
>          Components: Core: Viewer: RestfulObjects
>    Affects Versions: core-1.7.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: core-1.8.0
>
>
> originally raised on the dev mailing list by Erik de Hair...
> ~~~
> I've reproduce the issue, by introducing a deliberate bug in the todo app, 
> changing one of the queries in ToDoItem:
>     @javax.jdo.annotations.Query(
>             name = "findByOwnedByAndCompleteIsFalse", language = "JDOQL",
>             value = "SELECT "
>                     + "FROM dom.todo.ToDoItem "
>                     + "WHERE ownedBy == :ownedBy "
>                     + "   && complete = false"),
> where "complete == false"  has been changed to "complete = false".
> In the Wicket viewer - as hoped - I got the error page with a big nasty 
> stacktrace that included:
> javax.jdo.JDOUserException
> Invalid operator "=". Did you mean to use "=="?
> org.datanucleus.api.jdo.NucleusJDOHelper#getJDOExceptionForNucleusException(NucleusJDOHelper.java:549)
> org.datanucleus.api.jdo.JDOQuery#executeWithMap(JDOQuery.java:351)
> org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProc
> In the Restful viewer, when I invoked 
> http://localhost:8080/restful/services/ToDoItems/actions/notYetComplete/invoke
>  I got something an HTML error:
> HTTP ERROR 500
> Problem accessing /restful/services/ToDoItems/actions/notYetComplete/invoke. 
> Reason:
>     javax.jdo.JDOUserException: Invalid operator "=". Did you mean to use 
> "=="?
> NestedThrowables:
> org.datanucleus.store.query.QueryCompilerSyntaxException: Invalid operator 
> "=". Did you mean to use "=="?
> Caused by:
> org.apache.isis.core.commons.exceptions.IsisException: 
> javax.jdo.JDOUserException: Invalid operator "=". Did you mean to use "=="?
> NestedThrowables:
> org.datanucleus.store.query.QueryCompilerSyntaxException: Invalid operator 
> "=". Did you mean to use "=="?
>       at 
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:217)
>       at 
> org.apache.isis.core.runtime.transaction.facets.ActionInvocationFacetWrapTransaction.invoke(ActionInvocationFacetWrapTransaction.java:54)
>       at 
> org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionImpl.execute(ObjectActionImpl.java:367)
>       at 
> org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:306)
>       at 
> org.apache.isis.viewer.restfulobjects.server.resources.DomainResourceHelper.invokeActionQueryOnly(DomainResourceHelper.java:251)
>       at 
> org.apache.isis.viewer.restfulobjects.server.resources.DomainServiceResourceServerside.invokeActionQueryOnly(DomainServiceResourceServerside.java:165)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ~~~~
> So, I think the issue is that the Restful viewer, although it's throwing a 
> 500 response error as expected, is also returning HTML rather than JSON error 
> page.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to