users@jaxb.java.net

Re: Reused UnmarshallingContext omits errors when errorsCounter is exceeded

From: Dean Tidwell <deantaia_at_gmail.com>
Date: Fri, 27 Nov 2015 16:11:02 -0500

okay, I am here (see below) with your project using two command windows and
mvn -Pserver (command window one) mvn -Pclient (command window two)


Caused by: javax.xml.bind.UnmarshalException: Errors limit exceeded. To
receive all errors set com.sun.xml.bind logger to FINEST level.
        ... 42 more

should always happen, api is incompatible
Invoking greetMe... 10
This should never get reached, but does after
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext#errorsCounter
is exceeded
Server responded with: null


... so is this the error you are getting ?

dean

On Fri, Nov 27, 2015 at 3:15 PM, Dean Tidwell <deantaia_at_gmail.com> wrote:

> Sebastian,
> hi, I am new to JAXB but I will clone your project and look at it through
> my Java eyes.
> - dean
> Michigan
>
> On Fri, Nov 27, 2015 at 2:59 AM, Sebastian Bathke <
> sebastian.bathke_at_gmail.com> wrote:
>
>>
>> Hi,
>>
>> we just stumbled over this as an adjacent system upgraded its schema
>> containing new elements.
>> At first we got the expected "javax.xml.bind.UnmarshalException:
>> unexpected element" errors but suddenly they vanished and everythin worked
>> as if the schema violation wouldn't be present, but it still was.
>>
>> Debugging this case lead to the UnmarshallingContext#shouldErrorBeReported
>> method and the errorCounter. I wonder whether this is a feature or a bug,
>> why would jaxb ever stop to report errors for new messages only because
>> previous ones already had errors? We are using cxf jaxws clients that
>> reuses the UnmarshallingContext instance.
>>
>> I prepared a simple project to demonstrate the issue:
>> https://github.com/megglos/cxfIncomaptibleServerSample . Please see the SpringClient
>> class it sends requests to a server that responds with a different element
>> than expected, after the 10th requests it stops throwing errors because of
>> the errorCounter feature and the catch isn't reached anymore.
>>
>> Jaxb 2.2.11
>>
>> Would greatly appreciate any clarification to this, is it a bug or a
>> feature if the latter what's the reason? Or should cxf just simply not
>> reuse the unmarshallingConext for multiple request/response transactions?
>>
>> Thanks
>>
>> Sebastian
>>
>>
>