Describe the bug
/api/openapi.yaml returns 500
Environment
Workaround(s)
/api/openapi.json works fine.
Error Message
GET http://localhost:8080/api/openapi.yaml HTTP/1.1User-Agent: FiddlerHost: localhost:8080HTTP/1.1 500 Internal Server ErrorDate: Sat, 18 Oct 2025 14:56:50 GMTAccess-Control-Allow-Origin: *Access-Control-Allow-Credentials: falseAccess-Control-Allow-Methods: GET, POST, DELETE, PUTAccess-Control-Allow-Headers: Content-TypeContent-Security-Policy: frame-ancestors 'none'X-Frame-Options: DENYX-Content-Type-Options: nosniffStrict-Transport-Security: max-age=31536000; includeSubDomainsContent-Type: application/xmlContent-Length: 15986<java.lang.NoClassDefFoundError><detailMessage>org/yaml/snakeyaml/events/Event</detailMessage><cause class="java.lang.ClassNotFoundException"><detailMessage>org.yaml.snakeyaml.events.Event</detailMessage><stackTrace><trace>java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)</trace><trace>java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)</trace><trace>java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)</trace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory._createGenerator(YAMLFactory.java:531)</trace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory.createGenerator(YAMLFactory.java:480)</trace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory.createGenerator(YAMLFactory.java:15)</trace><trace>com.fasterxml.jackson.databind.ObjectMapper.createGenerator(ObjectMapper.java:1215)</trace><trace>com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3869)</trace><trace>io.swagger.v3.jaxrs2.integration.resources.BaseOpenApiResource.getOpenApi(BaseOpenApiResource.java:74)</trace><trace>io.swagger.v3.jaxrs2.integration.resources.OpenApiResource.getOpenApi(OpenApiResource.java:32)</trace><trace>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</trace><trace>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)</trace><trace>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</trace><trace>java.base/java.lang.reflect.Method.invoke(Method.java:569)</trace><trace>com.mirth.connect.server.api.providers.MirthResourceInvocationHandlerProvider$1.invoke(MirthResourceInvocationHandlerProvider.java:219)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)</trace><trace>org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)</trace><trace>org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)</trace><trace>org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)</trace><trace>org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:315)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:297)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:267)</trace><trace>org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)</trace><trace>org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)</trace><trace>org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)</trace><trace>org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)</trace><trace>org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)</trace><trace>org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)</trace><trace>com.mirth.connect.server.api.providers.StrictTransportSecurityFilter.doFilter(StrictTransportSecurityFilter.java:33)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.MethodFilter.doFilter(MethodFilter.java:37)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.RequestedWithFilter.doFilter(RequestedWithFilter.java:53)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.ClickjackingFilter.doFilter(ClickjackingFilter.java:45)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.ApiOriginFilter.doFilter(ApiOriginFilter.java:71)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)</trace><trace>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)</trace><trace>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)</trace><trace>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)</trace><trace>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)</trace><trace>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)</trace><trace>org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)</trace><trace>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)</trace><trace>org.eclipse.jetty.server.Server.handle(Server.java:516)</trace><trace>org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)</trace><trace>org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)</trace><trace>org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)</trace><trace>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)</trace><trace>org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)</trace><trace>org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)</trace><trace>org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)</trace><trace>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)</trace><trace>org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)</trace><trace>java.base/java.lang.Thread.run(Thread.java:840)</trace></stackTrace><suppressedExceptions class="empty-list"/></cause><stackTrace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory._createGenerator(YAMLFactory.java:531)</trace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory.createGenerator(YAMLFactory.java:480)</trace><trace>com.fasterxml.jackson.dataformat.yaml.YAMLFactory.createGenerator(YAMLFactory.java:15)</trace><trace>com.fasterxml.jackson.databind.ObjectMapper.createGenerator(ObjectMapper.java:1215)</trace><trace>com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3869)</trace><trace>io.swagger.v3.jaxrs2.integration.resources.BaseOpenApiResource.getOpenApi(BaseOpenApiResource.java:74)</trace><trace>io.swagger.v3.jaxrs2.integration.resources.OpenApiResource.getOpenApi(OpenApiResource.java:32)</trace><trace>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</trace><trace>java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)</trace><trace>java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</trace><trace>java.base/java.lang.reflect.Method.invoke(Method.java:569)</trace><trace>com.mirth.connect.server.api.providers.MirthResourceInvocationHandlerProvider$1.invoke(MirthResourceInvocationHandlerProvider.java:219)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)</trace><trace>org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)</trace><trace>org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)</trace><trace>org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)</trace><trace>org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)</trace><trace>org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)</trace><trace>org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:315)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:297)</trace><trace>org.glassfish.jersey.internal.Errors.process(Errors.java:267)</trace><trace>org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)</trace><trace>org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)</trace><trace>org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)</trace><trace>org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)</trace><trace>org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)</trace><trace>org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)</trace><trace>org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)</trace><trace>com.mirth.connect.server.api.providers.StrictTransportSecurityFilter.doFilter(StrictTransportSecurityFilter.java:33)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.MethodFilter.doFilter(MethodFilter.java:37)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.RequestedWithFilter.doFilter(RequestedWithFilter.java:53)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.ClickjackingFilter.doFilter(ClickjackingFilter.java:45)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>com.mirth.connect.server.api.providers.ApiOriginFilter.doFilter(ApiOriginFilter.java:71)</trace><trace>org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)</trace><trace>org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)</trace><trace>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)</trace><trace>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)</trace><trace>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)</trace><trace>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)</trace><trace>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)</trace><trace>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)</trace><trace>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)</trace><trace>org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)</trace><trace>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)</trace><trace>org.eclipse.jetty.server.Server.handle(Server.java:516)</trace><trace>org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)</trace><trace>org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)</trace><trace>org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)</trace><trace>org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)</trace><trace>org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)</trace><trace>org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)</trace><trace>org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)</trace><trace>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)</trace><trace>org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)</trace><trace>java.base/java.lang.Thread.run(Thread.java:840)</trace></stackTrace><suppressedExceptions class="empty-list"/></java.lang.NoClassDefFoundError>
Describe the bug
/api/openapi.yaml returns 500
Environment
Workaround(s)
/api/openapi.json works fine.
Error Message