[ https://issues.apache.org/jira/browse/CAMEL-22493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-22493: -------------------------------- Fix Version/s: 4.14.2 4.16.0 > camel-rest-openapi: Potential NPE in OpenApiUtils.isArrayType > ------------------------------------------------------------- > > Key: CAMEL-22493 > URL: https://issues.apache.org/jira/browse/CAMEL-22493 > Project: Camel > Issue Type: Bug > Components: camel-rest-openapi > Reporter: James Netherton > Priority: Minor > Fix For: 4.14.2, 4.16.0 > > Attachments: openapi.yaml, rest.camel.yaml > > > See further details from a user on Zulip: > https://camel.zulipchat.com/#narrow/channel/257302-camel-quarkus/topic/Contract.20first.20issue.20with.20camel-rest-openapi/with/542936888 > With the attached OpenAPI contract first route & and OpenAPI spec, > OpenApiUtils.isArrayType throws an NPE. There's no null guard around > schema.getTypes() before the attempting to chain to .stream(). > OpenApiUtils.getSchemaType() does have such a check. > {code} > (main) Failed to start application: java.lang.NullPointerException: Cannot > invoke "java.util.Set.stream()" because the return value of > "io.swagger.v3.oas.models.media.Schema.getTypes()" is null > at > org.apache.camel.component.rest.openapi.OpenApiUtils.isArrayType(OpenApiUtils.java:225) > at > org.apache.camel.component.rest.openapi.OpenApiUtils.loadBindingClassForJson(OpenApiUtils.java:196) > at > org.apache.camel.component.rest.openapi.OpenApiUtils.loadBindingClass(OpenApiUtils.java:175) > at > org.apache.camel.component.rest.openapi.OpenApiUtils.findClass(OpenApiUtils.java:158) > at > org.apache.camel.component.rest.openapi.OpenApiUtils.manageRequestBody(OpenApiUtils.java:133) > at > org.apache.camel.component.rest.openapi.RestOpenApiProcessor.createRestBindingConfiguration(RestOpenApiProcessor.java:220) > at > org.apache.camel.component.rest.openapi.RestOpenApiProcessor.doInit(RestOpenApiProcessor.java:160) > at > org.apache.camel.support.service.BaseService.init(BaseService.java:85) > at > org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84) > at > org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:101) > at > org.apache.camel.support.DefaultConsumer.doInit(DefaultConsumer.java:223) > at > org.apache.camel.component.platform.http.DefaultPlatformHttpConsumer.doInit(DefaultPlatformHttpConsumer.java:69) > at > org.apache.camel.support.service.BaseService.init(BaseService.java:85) > at > org.apache.camel.support.service.BaseService.start(BaseService.java:115) > at > org.apache.camel.support.service.ServiceHelper.startService(ServiceHelper.java:126) > at > org.apache.camel.impl.engine.AbstractCamelContext.startService(AbstractCamelContext.java:3346) > at > org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRouteConsumers(InternalRouteStartupManager.java:428) > at > org.apache.camel.impl.engine.InternalRouteStartupManager.doStartRouteConsumers(InternalRouteStartupManager.java:344) > at > org.apache.camel.impl.engine.InternalRouteStartupManager.safelyStartRouteServices(InternalRouteStartupManager.java:222) > at > org.apache.camel.impl.engine.InternalRouteStartupManager.doStartOrResumeRoutes(InternalRouteStartupManager.java:132) > at > org.apache.camel.impl.engine.AbstractCamelContext.doStartCamel(AbstractCamelContext.java:2952) > at > org.apache.camel.impl.engine.AbstractCamelContext.doStartContext(AbstractCamelContext.java:2565) > at > org.apache.camel.impl.engine.AbstractCamelContext.doStart(AbstractCamelContext.java:2520) > at > org.apache.camel.support.service.BaseService.start(BaseService.java:123) > at > org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2119) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)