Ok, so I simplified the code above and there was an extra method with @NotNull coming in from an interface definition, so I am seeing the validation of return types issue.
Can someone please tell me how I go about including the fix which is to have: apache.bval.metabean-factory-classnames=org.apache.bval.jsr303.extensions. MethodValidatorMetaBeanFactory Thanks, Tim On Fri, Jan 11, 2013 at 10:59 AM, Tim Robertson <[email protected]>wrote: > Hi all, > > I am trying to use guice method interception on a jersey web service to > validate a posted object but I get: > > javax.validation.ValidationException: error retrieving constraints for > class org.gbif.registry.ws.resources.NodeResource > ...caused by: > javax.validation.ValidationException: Property list does not follow > javabean conventions. > at > org.apache.bval.jsr303.Jsr303MetaBeanFactory.processClass(Jsr303MetaBeanFactory.java:162) > at > org.apache.bval.jsr303.Jsr303MetaBeanFactory.buildMetaBean(Jsr303MetaBeanFactory.java:95) > at org.apache.bval.MetaBeanBuilder.buildForClass(MetaBeanBuilder.java:131) > at org.apache.bval.MetaBeanManager.findForClass(MetaBeanManager.java:102) > at > org.apache.bval.jsr303.ClassValidator.getConstraintsForClass(ClassValidator.java:258) > at > org.apache.bval.jsr303.extensions.MethodValidatorImpl.validateParameters(MethodValidatorImpl.java:85) > at > org.apache.bval.guice.ValidateMethodInterceptor.invoke(ValidateMethodInterceptor.java:76) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > .... > > My web service is very simple: > > @Path("/node") > @Produces({MediaType.APPLICATION_JSON, > ExtraMediaTypes.APPLICATION_JAVASCRIPT}) > @Consumes(MediaType.APPLICATION_JSON) > public class NodeResource implements NodeService { > > private final NodeService nodeService; > > @Inject > public NodeResource(NodeService nodeService) { > this.nodeService = nodeService; > } > > @POST > @Validate > @Override > public WritableNode create(@org.apache.bval.Validate WritableNode > entity) { > return nodeService.create(entity); > } > } > > And WritableNode is a simple POJO with @NotNull markers on the fields. > > I came across https://issues.apache.org/jira/browse/BVAL-107 which > suggests using MethodValidatorMetaBeanFactory. Can someone please tell me > how to do that with Guice? I tried adding this validation.xml to the CP > but it did not help. > > <validation-config > xmlns="http://jboss.org/xml/ns/javax/validation/configuration" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation= > > "http://jboss.org/xml/ns/javax/validation/configurationvalidation-configuration-1.0.xsd"> > <property > name="apache.bval.metabean-factory-classnames">org.apache.bval.jsr303.extensions.MethodValidatorMetaBeanFactory</property> > </validation-config> > > Any help greatly appreciated! I'm using bval 0.5 > > Thanks, > Tim > > > >
