Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-12021

ProducerTemplate.requestBody with responseType throw a InvalidPayloadException instead of original exception (wrapped in a CamelExecutionException)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.20.1
    • 2.20.2, 2.21.0
    • camel-core
    • None
    • Unknown

    Description

      I try to upgrade from camel 2.19.3 to camel 2.20.1 and the behavior of org.apache.camel.ProducerTemplate.requestBody(String, Object, Class<T>) seems to be broken in case of exceptions.

      From the API the exception behavior is documented as "CamelExecutionException if the processing of the exchange failed"
      --> in camel 2.19 it works without any issues
      --> since camel 2.20.1 the underlying exception is lost and instead a InvalidPayloadException is thrown.

      A first analyze looks like the internal camel processing in 2.20 try to convert the exchange in body to the given response type. But i don't think this is make sense in case of a exception. Using the requestBody without the response type work correctly - here the unterlying exception is correctly propagated back as a wrapped CamelExecutionException.

      I was not able to find the root cause, so I could not provide a patch here - but I have attached a junit test to reproduce the issue.

      Attachments

        1. camel-issue.patch
          3 kB
          Thomas Papke

        Activity

          People

            davsclaus Claus Ibsen
            thopap Thomas Papke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: