Ok - I give up.  I can see now that I misunderstood.  The jaxb-ri is
where I would need to
be looking, but from what I can tell the ValidatingUnmarshaller hard
codes the setErrorHandler

So I guess for now I am stuck with the errors as they stand.

On Wed, Feb 23, 2011 at 10:41 AM, Jason Pell <[email protected]> wrote:
> Ok - sorry for the repeated of emails, I think I have answered my own
> questions.  I believe I know where I would add a XMLErrorHandler, its
> to
>
> ./rt/core/src/main/java/org/apache/cxf/databinding/source/XMLStreamDataReader.java
>
> The private Element validate(XMLStreamReader input) method is where
> the jaxp validator is created.
>
> This method could be enhanced much like
> org.apache.cxf.jaxb.io.DataReaderImpl is configured with a jaxb
> validation event handler to configure an XMLErrorHandler I should
> think.
>
> I might have a play around with it and submit a patch if I come up
> with something.
>
> Cheers
> Jason
>
>
> On Wed, Feb 23, 2011 at 10:21 AM, Jason Pell <[email protected]> wrote:
>> Ok - this looks like what I need - now to figure out where in cxf I can do 
>> this!
>>
>> http://stackoverflow.com/questions/4864681/jaxb-2-0-schema-validation-problem
>>
>> I need to register an XMLErrorHandler
>>
>> Any ideas?
>>
>> On Wed, Feb 23, 2011 at 10:18 AM, Jason Pell <[email protected]> wrote:
>>> It looks like I need to somehow override xerces error handling as this
>>> is the partial stack trace from the JAXBEncoderDecoder
>>>
>>> Caused by: org.xml.sax.SAXParseException: cvc-minInclusive-valid:
>>> Value '2009-12-31T23:59:59' is not facet-valid with respect to
>>> minInclusive '2010-01-01T00:00:00.0' for type
>>> '#AnonType_childSubmissionDatesPerson'.
>>>        at 
>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
>>>        at 
>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3182)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3097)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3007)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2150)
>>>        at 
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:818)
>>>
>>> On Wed, Feb 23, 2011 at 9:15 AM, Jason Pell <[email protected]> wrote:
>>>> Hi,
>>>>
>>>> I have the ValidationEventHandler working but this does not actually
>>>> appear to allow me to modify the content of the soap fault.   I have
>>>> been digging in JAXBEncoderDecoder and can see that the exception from
>>>> the jaxb unmarshaller is wrapped in a fault and thrown.  So in cxf
>>>> itself there does not appear to be anything I can do to modify the
>>>> soap message details (to for example add a line number).
>>>>
>>>> When I tried to implement my own handler by throwing a run time
>>>> exception, jaxb appeared to treat this as though I had returned false
>>>> from the handler and completely ignored my exception.
>>>>
>>>> I will keep digging into the jaxb ri for more insight but if anyone
>>>> has anything I would appreciate it.
>>>>
>>>> Thanks
>>>> Jason
>>>>
>>>
>>
>

Reply via email to