christophe spielmann
christophe spielmann

Reputation: 85

Jackson Error NoSuchFieldError ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS into webapp spring boot and HAPI FHIR client 7.4

Within a spring boot application when doing a Hapi fhir genericClient search call as below, I get error

lang.NoSuchFieldError: ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS

When analysing the dependencies, I see that I have jackson 2.13.1

I wonder why I get such an exception as my configuration is rather straight forward

public <T extends IBaseResource> Bundle getAllResourcesAsBundlePageFirst(int pageSize, Class<T> returnClass) {
    Bundle bundle = genericClient.search().forResource(returnClass).encodedJson().count(pageSize)
                    .withProfile(URL_PROFILE_PORTAL_GENERIC)
                    .totalMode(SearchTotalModeEnum.ACCURATE).returnBundle(Bundle.class).execute();
    log.debug("Total Number of results: " + bundle.getTotal());
    log.debug("current Number of results: " + bundle.getEntry().size());
    return bundle;
}

The full stack of error seems to tell that the error is located into Jackson

Caused by: java.lang.NoSuchFieldError: ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS
at ca.uhn.fhir.parser.json.jackson.JacksonStructure.createObjectMapper(JacksonStructure.java:410) ~[hapi-fhir-base-7.4.0.jar:na]
at ca.uhn.fhir.parser.json.jackson.JacksonStructure.<clinit>(JacksonStructure.java:56) ~[hapi-fhir-base-7.4.0.jar:na]
at ca.uhn.fhir.parser.JsonParser.doParseResource(JsonParser.java:239) ~[hapi-fhir-base-7.4.0.jar:na]
at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:647) ~[hapi-fhir-base-7.4.0.jar:na]
at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:631) ~[hapi-fhir-base-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.BaseClient$ResourceResponseHandler.invokeClient(BaseClient.java:691) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.BaseClient$ResourceResponseHandler.invokeClient(BaseClient.java:618) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.BaseClient.invokeClient(BaseClient.java:448) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.GenericClient$BaseClientExecutable.invoke(GenericClient.java:585) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.GenericClient$FetchConformanceInternal.execute(GenericClient.java:896) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.RestfulClientFactory.validateServerBase(RestfulClientFactory.java:323) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.RestfulClientFactory.validateServerBaseIfConfiguredToDoSo(RestfulClientFactory.java:282) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.BaseClient.invokeClient(BaseClient.java:272) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.GenericClient$BaseClientExecutable.invoke(GenericClient.java:585) ~[hapi-fhir-client-7.4.0.jar:na]
at ca.uhn.fhir.rest.client.impl.GenericClient$SearchInternal.execute(GenericClient.java:2201) ~[hapi-fhir-client-7.4.0.jar:na]
at lu.lns.portal.professional.fhir.api.service.impl.FhirServiceImpl.getAllResourcesAsBundlePageFirst(FhirServiceImpl.java:843) ~[classes/:na]
at lu.lns.portal.professional.fhir.api.controller.PractitionerController.getAllPractitionersBundle(PractitionerController.java:120) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.14.jar:5.3.14]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.14.jar:5.3.14]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.14.jar:5.3.14]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.14.jar:5.3.14]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.14.jar:5.3.14]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.14.jar:5.3.14]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.14.jar:5.3.14]

Upvotes: 0

Views: 114

Answers (0)

Related Questions