Bjorn Beskow created CAMEL-22117: ------------------------------------ Summary: camel-openapi-validator doesn't use query params or headers for validation Key: CAMEL-22117 URL: https://issues.apache.org/jira/browse/CAMEL-22117 Project: Camel Issue Type: Bug Affects Versions: 4.11.0, 4.10.4 Reporter: Bjorn Beskow
camel-openapi-validator doesn't provide query params or headers to the underlying OpenApiInteractionValidator for use in validation. Hence if the openapi specification contains required headers or query params, the validation will erroneously fail even if the query params or headers are present. They should be added to the context prior to the validation: {code:java} SimpleRequest.Builder builder = ... // Use all non-Camel headers for (Entry<String, Object> header : exchange.getMessage().getHeaders().entrySet()) { boolean isCamelHeader = header.getKey().startsWith("Camel") || header.getKey().startsWith("camel") || header.getKey().startsWith("org.apache.camel."); if (!isCamelHeader) { builder.withHeader(header.getKey(), header.getValue().toString()); } } // Use query parameters, if present String query = exchange.getMessage().getHeader(Exchange.HTTP_QUERY, String.class); if (query != null) { String[] params = query.split("&"); for (String param : params) { String[] keyValue = param.split("="); if (keyValue.length == 2) { builder.withQueryParam(keyValue[0], keyValue[1]); } else if (keyValue.length == 1) { builder.withQueryParam(keyValue[0], ""); } } } {code} I will submit a merge request containing the above patch. -- This message was sent by Atlassian Jira (v8.20.10#820010)