You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/05/28 08:14:19 UTC
[jira] [Updated] (ISIS-318) Restful Objects viewer returning 500
instead of 400 when given bad input
[ https://issues.apache.org/jira/browse/ISIS-318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood updated ISIS-318:
-----------------------------
Description:
For example, this invalid input:
{
"description": "Eat Seaweed",
"category": "OTHER",
"dueBy": "Jan 23, 2013"
}
using URL: http://localhost:8080/restful/services/toDoItems/actions/newToDo/invoke
returns a 500 instead of 400.
fyi the correct input is
{
"description": "Eat Seaweed",
"category": "Other",
"dueBy": "20130123T000000000"
}
The stacktrace returned was:
{
"message": "Unknown enum constant 'OTHER'",
"stackTrace": [
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doParse(EnumValueSemanticsProvider.java:63)",
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:73)",
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:32)",
"org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract.fromEncodedString(ValueSemanticsProviderAndFacetAbstract.java:261)",
"org.apache.isis.core.progmodel.facets.object.encodeable.EncodableFacetUsingEncoderDecoder.fromEncodedString(EncodableFacetUsingEncoderDecoder.java:60)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.JsonValueEncoder.asAdapter(JsonValueEncoder.java:163)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.objectAdapterFor(DomainResourceHelper.java:332)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:476)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:463)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:270)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeAction(DomainResourceHelper.java:265)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainObjectResourceServerside.invokeAction(DomainObjectResourceServerside.java:407)",
"sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
"sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"java.lang.reflect.Method.invoke(Method.java:601)",
"org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)",
"org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)",
"org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)",
"org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)",
was:
For example, this invalid input:
{
"description": "Eat Seaweed",
"category": "OTHER",
"dueBy": "Jan 23, 2013"
}
using URL: http://localhost:8080/restfulobjects/objstore.jdo.todo.ToDoItemsJdo:1/actions/newToDo/invoke
returns a 500 instead of 400.
fyi the correct input is
{
"description": "Eat Seaweed",
"category": "Other",
"dueBy": "20130123T000000000"
}
The stacktrace returned was:
{
"message": "Unknown enum constant 'OTHER'",
"stackTrace": [
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doParse(EnumValueSemanticsProvider.java:63)",
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:73)",
"org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:32)",
"org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract.fromEncodedString(ValueSemanticsProviderAndFacetAbstract.java:261)",
"org.apache.isis.core.progmodel.facets.object.encodeable.EncodableFacetUsingEncoderDecoder.fromEncodedString(EncodableFacetUsingEncoderDecoder.java:60)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.JsonValueEncoder.asAdapter(JsonValueEncoder.java:163)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.objectAdapterFor(DomainResourceHelper.java:332)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:476)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:463)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:270)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeAction(DomainResourceHelper.java:265)",
"org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainObjectResourceServerside.invokeAction(DomainObjectResourceServerside.java:407)",
"sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
"sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)",
"sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
"java.lang.reflect.Method.invoke(Method.java:601)",
"org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)",
"org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)",
"org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)",
"org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)",
"org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)",
"org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)",
> Restful Objects viewer returning 500 instead of 400 when given bad input
> ------------------------------------------------------------------------
>
> Key: ISIS-318
> URL: https://issues.apache.org/jira/browse/ISIS-318
> Project: Isis
> Issue Type: Bug
> Components: Viewer: RestfulObjects
> Affects Versions: viewer-restfulobjects-1.0.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: viewer-restfulobjects-2.0.0
>
>
> For example, this invalid input:
> {
> "description": "Eat Seaweed",
> "category": "OTHER",
> "dueBy": "Jan 23, 2013"
> }
> using URL: http://localhost:8080/restful/services/toDoItems/actions/newToDo/invoke
> returns a 500 instead of 400.
> fyi the correct input is
> {
> "description": "Eat Seaweed",
> "category": "Other",
> "dueBy": "20130123T000000000"
> }
> The stacktrace returned was:
> {
> "message": "Unknown enum constant 'OTHER'",
> "stackTrace": [
> "org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doParse(EnumValueSemanticsProvider.java:63)",
> "org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:73)",
> "org.apache.isis.core.progmodel.facets.object.choices.enums.EnumValueSemanticsProvider.doRestore(EnumValueSemanticsProvider.java:32)",
> "org.apache.isis.core.progmodel.facets.object.value.ValueSemanticsProviderAndFacetAbstract.fromEncodedString(ValueSemanticsProviderAndFacetAbstract.java:261)",
> "org.apache.isis.core.progmodel.facets.object.encodeable.EncodableFacetUsingEncoderDecoder.fromEncodedString(EncodableFacetUsingEncoderDecoder.java:60)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.JsonValueEncoder.asAdapter(JsonValueEncoder.java:163)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.objectAdapterFor(DomainResourceHelper.java:332)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:476)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.parseArguments(DomainResourceHelper.java:463)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeActionUsingAdapters(DomainResourceHelper.java:270)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainResourceHelper.invokeAction(DomainResourceHelper.java:265)",
> "org.apache.isis.viewer.restfulobjects.viewer.resources.domainobjects.DomainObjectResourceServerside.invokeAction(DomainObjectResourceServerside.java:407)",
> "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
> "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)",
> "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
> "java.lang.reflect.Method.invoke(Method.java:601)",
> "org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155)",
> "org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)",
> "org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)",
> "org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211)",
> "org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525)",
> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502)",
> "org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119)",
> "org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)",
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira