Custom WebApplicationException mapper will catch it and can check the
cause, in CXF 2.7.11 you should be able to use JAX-RS 2.0
ClientErrorException or more specific BadRequestException mapper too
Sergey
On 17/04/14 16:03, Pradeep Fernando wrote:
Hi Sergey,
Thanks a lot. It solved the issue. Now when i send an wrong input it
behaves correctly. spitting something similar to,
JAXBException occurred : cvc-datatype-valid.1.2.1: '1pr' is not a valid
value for 'integer'.. cvc-datatype-valid.1.2.1: '1pr' is not a valid value
for 'integer'
However I want to return json formatted error message to my clients. I
tried engaging a exceptionMapper handler that handles JAXBException before
and after the JSONProvider handler.
But it fails to map the exception.
During the databinding error scenario, the exception gets handled by
org.apache.cxf.jaxrs.provider.AbstractJAXBProvider#handleJaxbException
method it seems.
your input is much appreciated..
thanks,
--Pradeep
On Thu, Apr 17, 2014 at 4:21 PM, Sergey Beryozkin <[email protected]>wrote:
And add xs:string type to name & value too
Sergey
On 17/04/14 11:49, Sergey Beryozkin wrote:
Hi
On 17/04/14 11:04, Pradeep Fernando wrote:
Hi Devs,
I'm using CXF Jax-rs libs. Did some google searching on the $subject and
since im using,
org.apache.cxf.jaxrs.provider.json.JSONProvider, i made use of
org.apache.cxf.jaxrs.utils.schemas.SchemaHandler to validate my input
against my schema.
I get an input similar, to,
{
"id": "AWSEC2AsiaPacificPartition1",
"provider": "ec2",
"property": [
{
"name": "region",
"value": "ap-southeast-1"
}
],
"partitionMin": "1",
"partitionMax": "3"
}
I cant figure out how to model property array in xmlSchema without
using a
wrapping element. And it gives an error at the moment.
The schema portion i use to validate the property array..
<xs:element name="property" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="property" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name"
minOccurs="1" maxOccurs="1" nillable="false"/>
<xs:element name="value"
minOccurs="1" maxOccurs="1" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Am i doing the correct thing, May be im missing a trivial thing. Is it
possible at all.
<xs:element name="property" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" nillable="false"/>
<xs:element name="value" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Should probably do it
Note, Bean Validation 1.1 is also supported in 3.0.0-milestone2
Cheers, Sergey
thanks in advance...
--Pradeep
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com