HAPI FHIR Example Server UI

621 views
Skip to first unread message

gon...@antena.co

unread,
Mar 8, 2016, 11:45:29 AM3/8/16
to HAPI FHIR
Hi,

I recently upgraded to HAPI 1.4 and switched to the Java style config and everything seems to be working fine, except for the default UI.

When I try to access the base path, I get the following exception:

org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "conf.rest[0].resource" (tmpl-navbar-left:123)
org.thymeleaf.spring4.expression.SpelVariableExpressionEvaluator.evaluate(SpelVariableExpressionEvaluator.java:161)
org.thymeleaf.standard.expression.VariableExpression.executeVariable(VariableExpression.java:154)
org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:59)
org.thymeleaf.standard.expression.Expression.execute(Expression.java:103)
org.thymeleaf.standard.expression.Expression.execute(Expression.java:133)
org.thymeleaf.standard.expression.Expression.execute(Expression.java:120)
org.thymeleaf.standard.processor.attr.AbstractStandardIterationAttrProcessor.getIterationSpec(AbstractStandardIterationAttrProcessor.java:86)
org.thymeleaf.processor.attr.AbstractIterationAttrProcessor.processAttribute(AbstractIterationAttrProcessor.java:102)
org.thymeleaf.processor.attr.AbstractAttrProcessor.doProcess(AbstractAttrProcessor.java:87)
org.thymeleaf.processor.AbstractProcessor.process(AbstractProcessor.java:212)
org.thymeleaf.dom.Node.applyNextProcessor(Node.java:1017)
org.thymeleaf.dom.Node.processNode(Node.java:972)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.NestableNode.computeNextChild(NestableNode.java:695)
org.thymeleaf.dom.NestableNode.doAdditionalProcess(NestableNode.java:668)
org.thymeleaf.dom.Node.processNode(Node.java:990)
org.thymeleaf.dom.Document.process(Document.java:93)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1155)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011)
org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:190)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1243)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.ebaysf.web.cors.CORSFilter.handleNonCORS(CORSFilter.java:437)
org.ebaysf.web.cors.CORSFilter.doFilter(CORSFilter.java:172)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

I guess this has to do with something not being injected, or Spring can't resolve it. I followed the example implementation and can't figure out what I'm missing.

What should I look for?

Thanks in advance,
Gonzalo 

James Agnew

unread,
Mar 12, 2016, 3:16:57 PM3/12/16
to Gonzalo Bellver, HAPI FHIR
Hi Gonzalo,

This is a bug in the 1.4 testing UI that has been fixed in the current 1.5 snapshot. The issue is that you get that ugly error page you're seeing if the tester fails to load the server's conformance statement for any reason.

You should see another error in your server error logs right before that one. The other error is the actual root cause, and should give some hint as to why this isn't working.

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/18b73045-ab8f-49a8-96bf-aa0a193a8c8b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

gon...@antena.co

unread,
Mar 16, 2016, 12:02:33 PM3/16/16
to HAPI FHIR, gon...@antena.co
Yes, it seems that the conformance statement is failing to load. Here's the full stack trace:

2016-03-16 12:43:47.567 [http-bio-9080-exec-5] WARN  o.s.web.servlet.PageNotFound [DispatcherServlet.java:1136] No mapping found for HTTP request with URI [/fhir-server/fhir/metadata] in DispatcherServlet with name 'spring'
2016-03-16 12:43:47.569 [http-bio-9080-exec-1] WARN  ca.uhn.fhir.to.BaseController [BaseController.java:380] Failed to load conformance statement
ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException: HTTP 404 Not Found
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.7.0_79]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[na:1.7.0_79]
at ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException.newInstance(BaseServerResponseException.java:272) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.rest.client.BaseClient.invokeClient(BaseClient.java:312) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.rest.client.BaseClient.invokeClient(BaseClient.java:185) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.rest.client.GenericClient.conformance(GenericClient.java:186) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.to.BaseController.loadAndAddConfDstu2(BaseController.java:378) [BaseController.class:na]
at ca.uhn.fhir.to.BaseController.loadAndAddConf(BaseController.java:305) [BaseController.class:na]
at ca.uhn.fhir.to.BaseController.addCommonParams(BaseController.java:93) [BaseController.class:na]
at ca.uhn.fhir.to.Controller.actionHome(Controller.java:215) [Controller.class:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_79]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_79]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_79]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_79]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:860) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [servlet-api.jar:na]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845) [spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.62]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.62]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
at org.ebaysf.web.cors.CORSFilter.handleNonCORS(CORSFilter.java:437) [cors-filter-1.0.1.jar:na]
at org.ebaysf.web.cors.CORSFilter.doFilter(CORSFilter.java:172) [cors-filter-1.0.1.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.62]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.62]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.62]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.62]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.62]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.62]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.62]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) [tomcat-coyote.jar:7.0.62]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) [tomcat-coyote.jar:7.0.62]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_79]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.62]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_79]
2016-03-16 12:43:47.570 [http-bio-9080-exec-1] INFO  ca.uhn.fhir.to.Controller [Controller.java:216] org.apache.catalina.connector.RequestFacade@3591a6df
2016-03-16 12:43:47.592 [http-bio-9080-exec-1] ERROR org.thymeleaf.TemplateEngine [TemplateEngine.java:1085] [THYMELEAF][http-bio-9080-exec-1] Exception processing template "home": Exception evaluating SpringEL expression: "conf.rest[0].resource" (tmpl-navbar-left:123)


It seems the Tester is trying to load a conformance statement at ${serverBase}/metadata and its giving a 404 Not Found.
Is this the correct URL for the conformance statement?

Also, is the 1.5-SNAPSHOT publish on the Maven repos?


Cheers!
Gonzalo

James Agnew

unread,
Mar 18, 2016, 4:14:20 AM3/18/16
to Gonzalo Bellver, HAPI FHIR
Hi Gonzalo,

Ok the key to this issue is definitely right at the top of the error:


   No mapping found for HTTP request with URI [/fhir-server/fhir/metadata]

This means that Spring tried to handle the metadata request instead of HAPI. This can mean that either there is a misconfiguration in your web.xml, or that the base URL in the tester config is wrong.

Are you able to load the server's metadata statement in a browser?

Cheers,
James

Message has been deleted

James Agnew

unread,
Mar 22, 2016, 6:39:20 AM3/22/16
to Gonzalo Bellver, HAPI FHIR
Based on this web.xml, yeah, it should be /[context]/base/metadata, where [context] is the name of the WAR file you're deploying to tomcat.

If you try to load that URL in the browser, do you see any errors in the server logs?

Cheers,
James

On Fri, Mar 18, 2016 at 2:49 PM, <gon...@antena.co> wrote:
Hi James,

No, I cannot load the metadata statement on the browser. What URL should it have?

My server base URL is /fhir-server and the FHIR base is /fhir-server/base
I realised the server is looking for the metadata at /fhir-server/fhir/metadata (which it'll never find) because of a misconfiguration of the tester which had a baseUrl of ${serverBase}/fhir. I changed that to ${serverBase}/base but the error still occurs and I cannot load the metadata statement in the browser, anyways.

My web.xml declares the context configurations, the fhir and spring servlets and their mappings. Here's the content of my web.xml:

         version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ./xsd/web-app_3_0.xsd">

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <context-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </context-param>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            co.antena.fhir.server.configuration.FhirServerConfig
        </param-value>
    </context-param>
    <context-param>
        <param-name>spring.profiles.active</param-name>
        <param-value>${environment}</param-value>
    </context-param>



    <!-- Servlets -->

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextClass</param-name>
            <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
        </init-param>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                co.antena.fhir.server.configuration.FhirTesterConfig
            </param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>


    <servlet>
        <servlet-name>fhirServlet</servlet-name>
        <servlet-class>co.antena.fhir.server.AntenaFHIRServer</servlet-class>
        <init-param>
            <param-name>ImplementationDescription</param-name>
            <param-value>FHIR JPA Server</param-value>
        </init-param>
        <init-param>
            <param-name>FhirVersion</param-name>
            <param-value>DSTU2</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet-mapping>
        <servlet-name>fhirServlet</servlet-name>
        <url-pattern>/base/*</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <filter>
        <filter-name>encoding-filter</filter-name>
        <filter-class>
            org.springframework.web.filter.CharacterEncodingFilter
        </filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>encoding-filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


    <!-- This filters provide support for Cross Origin Resource Sharing (CORS) -->
    <filter>
        <filter-name>CORS Filter</filter-name>
        <filter-class>org.ebaysf.web.cors.CORSFilter</filter-class>
        <init-param>
            <description>A comma separated list of allowed origins. Note: An '*' cannot be used for an allowed origin
                when using credentials.
            </description>
            <param-name>cors.allowed.origins</param-name>
            <param-value>*</param-value>
        </init-param>
        <init-param>
            <description>A comma separated list of HTTP verbs, using which a CORS request can be made.</description>
            <param-name>cors.allowed.methods</param-name>
            <param-value>GET,POST,PUT,DELETE,OPTIONS</param-value>
        </init-param>
        <init-param>
            <description>A comma separated list of allowed headers when making a non simple CORS request.</description>
            <param-name>cors.allowed.headers</param-name>
            <param-value>
                X-FHIR-Starter,Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization
            </param-value>
        </init-param>
        <init-param>
            <description>A comma separated list non-standard response headers that will be exposed to XHR2 object.
            </description>
            <param-name>cors.exposed.headers</param-name>
            <param-value>Location,Content-Location,Authorization</param-value>
        </init-param>
        <init-param>
            <description>A flag that suggests if CORS is supported with cookies</description>
            <param-name>cors.support.credentials</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <description>A flag to control logging</description>
            <param-name>cors.logging.enabled</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <description>Indicates how long (in seconds) the results of a preflight request can be cached in a preflight
                result cache.
            </description>
            <param-name>cors.preflight.maxage</param-name>
            <param-value>300</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CORS Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


</web-app>


Cherrs!
Gonzalo

gon...@antena.co

unread,
Mar 22, 2016, 8:53:44 AM3/22/16
to HAPI FHIR, gon...@antena.co
Actually, I'm getting a weird error I hadn't noticed before if I load /[context]/base/metadata:

2016-03-22 09:36:07.950 [http-bio-9080-exec-8] INFO  ca.uhn.fhir.context.FhirContext [FhirContext.java:137] Creating new FHIR context for FHIR version [DSTU2_HL7ORG]
2016-03-22 09:36:08.070 [http-bio-9080-exec-8] INFO  o.t.t.AbstractTemplateResolver [AbstractTemplateResolver.java:99] [THYMELEAF] INITIALIZING TEMPLATE RESOLVER: org.thymeleaf.templateresolver.ClassLoaderTemplateResolver
2016-03-22 09:36:08.070 [http-bio-9080-exec-8] INFO  o.t.t.AbstractTemplateResolver [AbstractTemplateResolver.java:110] [THYMELEAF] TEMPLATE RESOLVER INITIALIZED OK
2016-03-22 09:36:08.071 [http-bio-9080-exec-8] INFO  o.t.m.AbstractMessageResolver [AbstractMessageResolver.java:72] [THYMELEAF] INITIALIZING MESSAGE RESOLVER: org.thymeleaf.messageresolver.StandardMessageResolver
2016-03-22 09:36:08.071 [http-bio-9080-exec-8] INFO  o.t.m.AbstractMessageResolver [AbstractMessageResolver.java:78] [THYMELEAF] MESSAGE RESOLVER INITIALIZED OK
2016-03-22 09:36:08.071 [http-bio-9080-exec-8] INFO  c.uhn.fhir.rest.server.RestfulServer [RestfulServer.java:721] Initializing HAPI FHIR restful server running in DSTU2_HL7ORG mode
2016-03-22 09:36:08.079 [http-bio-9080-exec-8] ERROR c.uhn.fhir.rest.server.RestfulServer [RestfulServer.java:746] An error occurred while loading request handlers!
ca.uhn.fhir.context.ConfigurationException: Unknown profileOf value: class ca.uhn.fhir.model.dstu2.composite.QuantityDt
at ca.uhn.fhir.context.RuntimeCompositeDatatypeDefinition.sealAndInitialize(RuntimeCompositeDatatypeDefinition.java:62) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.context.ModelScanner.init(ModelScanner.java:219) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.context.ModelScanner.<init>(ModelScanner.java:113) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.context.FhirContext.scanResourceTypes(FhirContext.java:431) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.context.FhirContext.scanResourceType(FhirContext.java:426) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.context.FhirContext.getResourceDefinition(FhirContext.java:210) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.rest.server.RestfulServer.registerProviders(RestfulServer.java:1002) ~[hapi-fhir-base-1.4.jar:na]
at ca.uhn.fhir.rest.server.RestfulServer.init(RestfulServer.java:729) ~[hapi-fhir-base-1.4.jar:na]
at javax.servlet.GenericServlet.init(GenericServlet.java:158) [servlet-api.jar:3.0.FR]
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:864) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.62]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.62]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.62]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957) [catalina.jar:7.0.62]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.62]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.62]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.62]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) [tomcat-coyote.jar:7.0.62]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) [tomcat-coyote.jar:7.0.62]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_73]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_73]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.62]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_73]


Debugging the stack trace a little bit, it looks like the ConfigurationException is thrown while trying to initialise the CompositeDatatypeDefinition[Money, MoneyDt]

Does this have something to do with the loading of the conformance statement?

Cheers,
Gonzalo
...
Reply all
Reply to author
Forward
0 new messages