Stream: hapi
Topic: Validation error with R4 5.5.7
Marvin Kampf (Oct 18 2021 at 11:30):
Hey guys,
I got the following error executing a unit test that uses hapi library for validation. With version 5.5.3 of R4 lib everything worked fine but now with the patch to 5.5.7, the following exception occurs:
13 106.5 ValidationTests > mapProzedur() FAILED
619#13 106.5 java.lang.NoSuchMethodError: 'void org.hl7.fhir.utilities.validation.ValidationMessage.setSliceHtml(java.lang.String, java.lang.String[])'
620#13 106.5 at org.hl7.fhir.validation.BaseValidator.slicingHint(BaseValidator.java:267)
621#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.sliceMatches(InstanceValidator.java:3645)
622#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.matchSlice(InstanceValidator.java:4933)
623#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.assignChildren(InstanceValidator.java:4852)
624#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:4377)
625#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChildByDefinition(InstanceValidator.java:4686)
626#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4432)
627#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:4384)
628#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.startInner(InstanceValidator.java:4100)
629#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.start(InstanceValidator.java:4008)
630#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateResource(InstanceValidator.java:5172)
631#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateContains(InstanceValidator.java:4277)
632#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChildByDefinition(InstanceValidator.java:4588)
633#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4432)
634#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:4384)
635#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChildByDefinition(InstanceValidator.java:4605)
636#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.checkChild(InstanceValidator.java:4432)
637#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateElement(InstanceValidator.java:4384)
638#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.startInner(InstanceValidator.java:4100)
639#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.start(InstanceValidator.java:3964)
640#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validateResource(InstanceValidator.java:5172)
641#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validate(InstanceValidator.java:721)
642#13 106.5 at org.hl7.fhir.validation.instance.InstanceValidator.validate(InstanceValidator.java:571)
643#13 106.5 at org.hl7.fhir.common.hapi.validation.validator.ValidatorWrapper.validate(ValidatorWrapper.java:158)
644#13 106.5 at org.hl7.fhir.common.hapi.validation.validator.FhirInstanceValidator.validate(FhirInstanceValidator.java:235)
645#13 106.5 at org.hl7.fhir.common.hapi.validation.validator.BaseValidatorBridge.doValidate(BaseValidatorBridge.java:22)
646#13 106.5 at org.hl7.fhir.common.hapi.validation.validator.BaseValidatorBridge.validateResource(BaseValidatorBridge.java:45)
647#13 106.5 at org.hl7.fhir.common.hapi.validation.validator.FhirInstanceValidator.validateResource(FhirInstanceValidator.java:25)
648#13 106.5 at ca.uhn.fhir.validation.FhirValidator.validateWithResult(FhirValidator.java:221)
649#13 106.5 at ca.uhn.fhir.validation.FhirValidator.validateWithResult(FhirValidator.java:191)
650#13 106.5 at org.miracum.streams.ume.kdbptofhir.ValidationTests.isValid(ValidationTests.java:97)
651#13 106.5 at org.miracum.streams.ume.kdbptofhir.ValidationTests.mapProzedur(ValidationTests.java:243)
The code that triggers the exception is the following simple line:
var result = validator.validateWithResult(fhirBundle);
with validator
being initialized like:
var ctx = FhirContext.forR4();
validator = ctx.newValidator();
var validationSupportChain =
new ValidationSupportChain(
new DefaultProfileValidationSupport(ctx),
getProfiles(ctx),
new SnapshotGeneratingValidationSupport(ctx),
new InMemoryTerminologyServerValidationSupport(ctx),
new CommonCodeSystemsTerminologyService(ctx));
var instanceValidator = new FhirInstanceValidator(validationSupportChain);
validator.registerValidatorModule(instanceValidator);
Thanks in advance for any help
Marvin Kampf (Oct 18 2021 at 11:32):
I just realised, that I already had the same problem with a different version once: https://chat.fhir.org/#narrow/stream/179167-hapi/topic/NoSuchMethodError.20setSliceHtml/near/245185167
Marvin Kampf (Oct 19 2021 at 12:43):
Is this a bug? Should I raise an issue for hapi?
Jens Villadsen (Oct 19 2021 at 12:52):
@Grahame Grieve
Jens Villadsen (Oct 19 2021 at 12:52):
Its likely not a bug in HAPI
Grahame Grieve (Oct 20 2021 at 10:50):
don't look at me. setSliceHtml is a very old method. But whatever issue it is, the problem is somewhere in the package dependencies
Marvin Kampf (Oct 25 2021 at 13:18):
Same issue with 5.5.8...
Grahame Grieve (Oct 25 2021 at 18:36):
@Mark Iantorno ?
Mark Iantorno (Oct 25 2021 at 20:36):
Please tag me and send me the exact steps to reproduce this.
Mark Iantorno (Oct 25 2021 at 20:36):
@Marvin Kampf
Mark Iantorno (Oct 25 2021 at 20:36):
What are you validating?
Last updated: Apr 12 2022 at 19:14 UTC