Error installing a new implementation guide

157 views
Skip to first unread message

Saketh Varma Pericherla

unread,
Feb 23, 2023, 9:16:21 AM2/23/23
to HAPI FHIR
Hi folks! I tried installing a new implementation guide by updating the implementationguides section of the application.yaml file. In the past this worked fine but now this is giving the "Failed to resolve package" error.

I verified that the package does exist in the npm registry

Here is the error log:

2023-02-23 05:12:14.822 [main] INFO  o.h.f.u.npm.BasePackageCacheManager [BasePackageCacheManager.java:80] Failed to resolve package us.nlm.vsac#0.3.0 from server: http://packages.fhir.org (/home/igs/.fhir/package-client/packages.fhir.org-us.nlm.vsac-0.3.0.tgz (No such file or directory))

2023-02-23 05:12:16.336 [main] INFO  o.h.f.u.npm.BasePackageCacheManager [BasePackageCacheManager.java:80] Failed to resolve package us.nlm.vsac#0.3.0 from server: https://packages2.fhir.org/packages (/home/igs/.fhir/package-client/packages2.fhir.org-us.nlm.vsac-0.3.0.tgz (No such file or directory))

2023-02-23 05:12:16.423 [main] ERROR o.a.c.c.C.[Tomcat].[localhost].[/] [DirectJDKLog.java:175] Servlet.init() for servlet [jpaRestfulServer] threw exception

ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException: HAPI-1301: Unable to locate package us.nlm.vsac#0.3.0

   at ca.uhn.fhir.jpa.packages.JpaPackageCache.loadPackage(JpaPackageCache.java:435)

   at ca.uhn.fhir.jpa.packages.JpaPackageCache$$FastClassBySpringCGLIB$$fadb1509.invoke(<generated>)

   at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)

   at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)

   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

   at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)

   at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)

   at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)

   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)

   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)

   at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)

   at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)

   at ca.uhn.fhir.jpa.packages.JpaPackageCache$$EnhancerBySpringCGLIB$$98e3e6c.loadPackage(<generated>)

   at ca.uhn.fhir.jpa.packages.PackageInstallerSvcImpl.fetchAndInstallDependencies(PackageInstallerSvcImpl.java:267)

   at ca.uhn.fhir.jpa.packages.PackageInstallerSvcImpl.fetchAndInstallDependencies(PackageInstallerSvcImpl.java:270)

   at ca.uhn.fhir.jpa.packages.PackageInstallerSvcImpl.install(PackageInstallerSvcImpl.java:177)

   at ca.uhn.fhir.jpa.starter.BaseJpaRestfulServer.initialize(BaseJpaRestfulServer.java:402)

   at ca.uhn.fhir.jpa.starter.JpaRestfulServer.initialize(JpaRestfulServer.java:25)

   at ca.uhn.fhir.rest.server.RestfulServer.init(RestfulServer.java:1347)

   at javax.servlet.GenericServlet.init(GenericServlet.java:203)

   at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1164)

   at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1013)

   at org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedContext.load(TomcatEmbeddedContext.java:82)

   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)

   at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)

   at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)

   at java.base/java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)

   at java.base/java.util.TreeMap$ValueSpliterator.forEachRemaining(Unknown Source)

   at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)

   at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)

   at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)

   at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)

   at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)

   at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)

   at org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedContext.lambda$deferredLoadOnStartup$0(TomcatEmbeddedContext.java:65)

   at org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedContext.doWithThreadContextClassLoader(TomcatEmbeddedContext.java:106)

   at org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedContext.deferredLoadOnStartup(TomcatEmbeddedContext.java:64)

   at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.performDeferredLoadOnStartup(TomcatWebServer.java:305)

   at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:216)

   at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43)

   at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178)

   at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54)

   at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356)

   at java.base/java.lang.Iterable.forEach(Unknown Source)

   at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155)

   at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123)

   at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935)

   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586)

   at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)

   at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730)

   at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)

   at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)

   at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301)

   at org.springframework.boot.SpringApplication.run(SpringApplication.java:1290)

   at ca.uhn.fhir.jpa.starter.Application.main(Application.java:47)

   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

   at java.base/java.lang.reflect.Method.invoke(Unknown Source)

   at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)

   at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)

   at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)

   at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59)

2023-02-23 05:12:16.428 [main] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext [AbstractApplicationContext.java:591] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server

pa.f....@gmail.com

unread,
Feb 26, 2023, 9:50:14 AM2/26/23
to HAPI FHIR
This is working, maybe you properties weren't correct?

implementationguides:
### example from registry (packages.fhir.org)
  test:
  name: us.nlm.vsac
  version: 0.3.0


works like a charm on my side.
Cheers
Patrick

Saketh Varma Pericherla

unread,
Feb 28, 2023, 9:15:40 AM2/28/23
to HAPI FHIR
I think I figured out what was going wrong, we switched from using the vanilla open-jdk image to our own company specific custom image for open-jdk that is blocking fhir registry endpoints.

That said, any documentation on how to set up hapi fhir to connect to a private npm registry instead of packages.fhir.org?
Reply all
Reply to author
Forward
0 new messages