Hi, I'm testing the Camel JBang 3.20 OpenAPI to REST generator and encountering some issues with enums when trying to run the generated file. The schema in the error message looks peculiar when trying to run the XML DSL as it points to spring but I'm not sure if it should look like that.
Error with XML Rest DSL: org.apache.camel.RuntimeCamelException: org.apache.camel.xml.io.XmlPullParserException: Unexpected element '{http://camel.apache.org/schema/spring}allowableValues' Error with YAML Rest DSL: Unsupported field: allowableValues in file:myroutes.yaml, line 124, column 11: value: More information follows: I'm using the PetStore OpenAPI 3 spec: https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml I'm generating the REST DSL using: camel generate rest -i openapi.yaml -o myroutes.yaml The generation goes through without errors. But Camel isn't able to parse the generated file when trying to run the routes using camel run myroutes.yaml: --- Unsupported field: allowableValues in file:myroutes.yaml, line 124, column 11: value: ^ at org.apache.camel.dsl.yaml.common.YamlDeserializerBase.handleUnknownProperty(YamlDeserializerBase.java:132) at org.apache.camel.dsl.yaml.common.YamlDeserializerBase.setProperties(YamlDeserializerBase.java:126) at org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:65) at org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:171) at org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:344) at org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:322) at org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:298) at org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:277) at org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$GetDefinitionDeserializer.setProperty(ModelDeserializers.java:5563) --- The generated file contains this which based on the error is failing: get: - id: "findPetsByStatus" path: "/pet/findByStatus" description: "Multiple status values can be provided with comma separated strings" produces: "application/xml,application/json" param: - dataType: "string" defaultValue: "available" description: "Status values that need to be considered for filter" name: "status" required: false type: "query" allowableValues: value: - "available" - "pending" - "sold" to: "direct:findPetsByStatus" The original OpenAPI spec has this: /pet/findByStatus: get: tags: - pet summary: Finds Pets by status description: Multiple status values can be provided with comma separated strings operationId: findPetsByStatus parameters: - name: status in: query description: Status values that need to be considered for filter required: false explode: true schema: type: string enum: - available - pending - sold default: available I also tried generating XML DSL and it gives the following error when running: org.apache.camel.RuntimeCamelException: org.apache.camel.xml.io.XmlPullParserException: Unexpected element '{http://camel.apache.org/schema/spring}allowableValues' I tried to find the relevant parts from the Apache Camel's source code and AFAIK it tries to handle allowableValues. The schema in the XML error looks strange though with a reference to spring. Should that be rest instead? Everything works OK with a simpler schema (https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml) Is this a known issue or is there some setting I could change to make things work? Thanks in advance! Best regards, Mikael