Zineb Bendhiba created CAMEL-18477:
--------------------------------------
Summary: knative producer with ProducerTemplate is missing the
fromRouteId
Key: CAMEL-18477
URL: https://issues.apache.org/jira/browse/CAMEL-18477
Project: Camel
Issue Type: Bug
Components: camel-knative
Affects Versions: 3.18.1
Reporter: Zineb Bendhiba
Assignee: Zineb Bendhiba
Fix For: 3.19.0
Knative camel producer creates CloudEvents. To have a valid CloudEvent, there's
the need to have a field named `source`.
The knative camel producer sets this value by putting the "fromRouteId" value.
This value is set by DefaultConsumer when creating the extended exchange.
However, when using the knative producer via ProducerTemplate, we miss this
value. And the event is rejected because source is required by knative.
Log :
{code:java}
{"level":"warn","ts":"2022-09-07T10:28:15.844Z","logger":"mt_broker_ingress","caller":"ingress/ingress_handler.go:145","msg":"failed
to validate extracted event","error":"source: REQUIRED\n"} {code}
As a temporary fix, we could ask user to override the source value, as in this
configuration example :
{code:java}
{
"type": "event",
"name": "YOUR_NAME_EVENT",
"url": "YOUR_LINK_TO_BROKER",
"metadata": {
"camel.endpoint.kind": "sink"
},
"ceOverrides": {
"ce-source": "YOUR_SOURCE_NAME"
}
} {code}
However, it doesn't seem right to suppose in the code this value is coming
necessarly from a Camel Consumer.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)