Xsd JAXB Marshaller | ValidationEventHandler如何在定位器中获取整个复杂对象

Xsd JAXB Marshaller | ValidationEventHandler如何在定位器中获取整个复杂对象,xsd,jaxb,marshalling,xsd-validation,Xsd,Jaxb,Marshalling,Xsd Validation,我正在使用JAXB javax.xml.bind.Marshaller封送xml,并将XSD验证作为其中的一部分 我要封送的对象是如下所示的复杂类型 我有如下复杂的课程 class A{ private B b; private C c; } 其中B和C是其他类别 在XSD验证失败的情况下,我在配置的javax.xml.bind.ValidationEventHandler中得到正确的错误消息 但问题是,在XSD验证失败的情况下,我得到的是locator.object

我正在使用JAXB javax.xml.bind.Marshaller封送xml,并将XSD验证作为其中的一部分

我要封送的对象是如下所示的复杂类型 我有如下复杂的课程

 class A{
    private B b;
    private C c;
    }
其中B和C是其他类别

在XSD验证失败的情况下,我在配置的javax.xml.bind.ValidationEventHandler中得到正确的错误消息

但问题是,在XSD验证失败的情况下,我得到的是locator.object只能是B或C

[severity=FATAL_ERROR,message=cvc maxLength valid:length='4'的值'test'对于类型'#AnonType_uuxxxxx'的maxLength'1'无效,locator=[url=null,line=-1,column=-1,node=null,object=com。。。。。C@1f4304be,字段=null]]

在这里,是否有任何方法可以与上面的消息一起始终获得完整的类对象,即object=com。。。。。A@1f4304be以便我可以将其转换并用于我未来的业务处理

挑战在于B类是唯一一个包含用户唯一标识符的类,因此,每当C类出现故障时,我都无法找到哪个用户,因为C类没有任何关于用户的唯一信息

寻求建议和解决方案