Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-11459

[HTTP] Specify content type when invoking HTTP endpoint

    XMLWordPrintable

Details

    • % %
    • ?
    • 0
    • 0% 0%

    Description

      (Migrated from https://github.com/syndesisio/syndesis/issues/3118)

      Currently when using integration [something] -> http invoke, you can't specify content type for the request in the UI. It would be nice if the user could specify the content type of the request, because otherwise (when using endpoint that consumes something else than text/plain) it will fail with this exception:

      ``

      org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking http://http-svc:8080/ with statusCode: 415
      	at org.apache.camel.component.http4.HttpProducer.populateHttpOperationFailedException(HttpProducer.java:312) ~[camel-http4-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.component.http4.HttpProducer.process(HttpProducer.java:207) ~[camel-http4-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at io.syndesis.integration.component.proxy.ComponentProxyProducer.process(ComponentProxyProducer.java:44) ~[integration-component-proxy-1.4-SNAPSHOT.jar!/:1.4-SNAPSHOT]
      	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) ~[camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at io.syndesis.integration.runtime.logging.ActivityTrackingInterceptStrategy$EventProcessor.process(ActivityTrackingInterceptStrategy.java:79) [integration-runtime-1.4-SNAPSHOT.jar!/:1.4-SNAPSHOT]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.component.sjms.consumer.InOnlyMessageHandler.handleMessage(InOnlyMessageHandler.java:65) [camel-sjms-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.component.sjms.consumer.AbstractMessageHandler.onMessage(AbstractMessageHandler.java:86) [camel-sjms-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1401) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.ActiveMQMessageConsumer.iterate(ActiveMQMessageConsumer.java:1572) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:191) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) [activemq-client-5.14.5.jar!/:5.14.5]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_151]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_151]
      	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
      
      {"exchange":"i-LHlQTtxpj46Maa39_fVz","step":"-LHlOMuoBcaeKn6_5OlQ","id":"i-LHlQTu2pj46Maa39_fXz","duration":58150695,"failure":"org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking http://http-svc:8080/ with statusCode: 415\n\tat org.apache.camel.component.http4.HttpProducer.populateHttpOperationFailedException(HttpProducer.java:312)\n\tat org.apache.camel.component.http4.HttpProducer.process(HttpProducer.java:207)\n\tat org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:138)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:101)\n\tat io.syndesis.integration.component.proxy.ComponentProxyProducer.process(ComponentProxyProducer.java:44)\n\tat org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)\n\tat org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110)\n\tat org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)\n\tat org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:138)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:101)\n\tat org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110)\n\tat io.syndesis.integration.runtime.logging.ActivityTrackingInterceptStrategy$EventProcessor.process(ActivityTrackingInterceptStrategy.java:79)\n\tat org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110)\n\tat org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)\n\tat org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:138)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:101)\n\tat org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:138)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:101)\n\tat org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109)\n\tat org.apache.camel.processor.Pipeline.process(Pipeline.java:80)\n\tat org.apache.camel.component.sjms.consumer.InOnlyMessageHandler.handleMessage(InOnlyMessageHandler.java:65)\n\tat org.apache.camel.component.sjms.consumer.AbstractMessageHandler.onMessage(AbstractMessageHandler.java:86)\n\tat org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1401)\n\tat org.apache.activemq.ActiveMQMessageConsumer.iterate(ActiveMQMessageConsumer.java:1572)\n\tat org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:191)\n\tat org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133)\n\tat org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n"}
      {"exchange":"i-LHlQTtxpj46Maa39_fVz","status":"done","failed":true}
      2018-07-19 07:25:29.150 ERROR 1 --- [ Session Task-7] o.a.activemq.ActiveMQMessageConsumer     : ID:i-test-3-76dtk-37599-1531984945934-1:1:1:1 Exception while processing message: ID:fakefrog-36741-1531985122320-1:1:1:1:1
      
      org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
      	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1830) ~[camel-core-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.camel.component.sjms.consumer.AbstractMessageHandler.onMessage(AbstractMessageHandler.java:113) ~[camel-sjms-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1401) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.ActiveMQMessageConsumer.iterate(ActiveMQMessageConsumer.java:1572) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:191) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) [activemq-client-5.14.5.jar!/:5.14.5]
      	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) [activemq-client-5.14.5.jar!/:5.14.5]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_151]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_151]
      	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_151]
      Caused by: java.lang.NullPointerException: null
      	at org.apache.camel.component.sjms.consumer.AbstractMessageHandler.onMessage(AbstractMessageHandler.java:88) ~[camel-sjms-2.21.0.fuse-000094.jar!/:2.21.0.fuse-000094]
      	... 8 common frames omitted
      

      ``

      My endpoint used "consumes=application/json", but the request was probably "text/plain"

      This can probably be done using custom extension, but maybe it is worth to have it in the UI directly?

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhn-support-hbraun Heiko Braun
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: