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

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.20.1
    • Fix Version/s: 2.20.2, 2.21.0
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      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

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              thopap Thomas Papke
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: