You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Zineb Bendhiba (Jira)" <ji...@apache.org> on 2022/09/07 12:44:00 UTC

[jira] [Created] (CAMEL-18477) knative producer with ProducerTemplate is missing the fromRouteId

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)