title: Inbound channel adapter throwing "no output-channel or replyChannel header available" error
body: <p>I would like to get the message from JMS and send it as HTTP request and in case of failure, enqueue it again to JMS.</p>
  
  <p>I've tried using inbound-message-adapter and message-driven-channel-adapter, but it fails as I get "ChannelResolutionException: no output-channel or replyChannel header available" exception but since I do not want to reply to inbound-message-adapter, not sure why would I include a replyChannel header</p>
  
  <pre><code>
      &lt;jms:outbound-channel-adapter id="outboundJMSAdaptor" jms-template="jmsTemplate"
              channel="jmsOutChannel"
              destination="requestQueue"/&gt;
      &lt;int:channel id="jmsInChannel" /&gt;
  
      &lt;jms:message-driven-channel-adapter
              channel="jmsInChannel" destination="requestQueue"
              connection-factory="jmsConnectionFactory" message-converter="jmsMessageConverter"/&gt;
  
      &lt;int:header-enricher input-channel="jmsInChannel" output-channel="header_enriched_request"&gt;
          &lt;int:header name="addressId" expression="payload.getId()"/&gt;
          &lt;int:header name="Accept-Language" value="en_GB"/&gt;
          &lt;int:header name="X-Source-CountryCode" value="GB"/&gt;
          &lt;int:header name="X-Source-Operator" value="Enterprise"/&gt;
          &lt;int:header name="X-Source-Division" value="CustomerManagement"/&gt;
          &lt;int:header name="X-Source-System" value="${sapwebservices.http.header.source.system}"/&gt;
          &lt;int:header name="X-Source-Timestamp" expression="new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss').format(new java.util.Date())"/&gt;
          &lt;int:header name="Accept" value="application/json"/&gt;
          &lt;int:header name="Content-Type" value="application/json;charset=UTF-8"/&gt;
      &lt;/int:header-enricher&gt;
  
      &lt;int:object-to-json-transformer input-channel="header_enriched_request"
              output-channel="update_customer_shipping_address_outbound_gateway"
              object-mapper="nonNullObjectMapper"/&gt;
  
      &lt;http:outbound-gateway mapped-request-headers="Accept*, Content-Type, X-*, HTTP_REQUEST_HEADERS"
              request-channel="update_customer_shipping_address_outbound_gateway"
              reply-channel="print_payload_update_shipping"
              url="${sapwebservices.ws.uri.updatecustomershippingaddress}"
              http-method="PUT"
              expected-response-type="java.lang.String"
              charset="UTF-8"
              request-factory="updateCustomerAccountRequestFactory"&gt;
          &lt;http:uri-variable name="id" expression="headers['addressId']"/&gt;
      &lt;/http:outbound-gateway&gt;
      &lt;int:service-activator input-channel="print_payload_update_shipping" output-channel="clean_no_print_char_update_customershippingaddress" ref="sapPrintPayload"/&gt;
      &lt;int:transformer input-channel="clean_no_print_char_update_customershippingaddress" output-channel="resp_mapping_json_to_jsonobj_updatecustomershippingaddress"&gt;
          &lt;bean class="util.CleanNoPrintCharTransformer"/&gt;
      &lt;/int:transformer&gt;
      &lt;int:json-to-object-transformer input-channel="resp_mapping_json_to_jsonobj_updatecustomershippingaddress"
                                      output-channel="clean_no_print_char_update_customershippingaddress"
                                      type="customer_shipping_address_response.json.CustomerShippingAddressResponse"/&gt;
      &lt;int:transformer input-channel="clean_no_print_char_update_customershippingaddress" output-channel=""&gt;
          &lt;bean class="transformer.CreateCustomerShippingAddressPostTransformer"/&gt;
      &lt;/int:transformer&gt;
  </code></pre>
  
  <p>I expect a success in a normal run, getting error</p>
  
  <pre><code>org.springframework.integration.dispatcher.AggregateMessageDeliveryException: All attempts to deliver Message to MessageHandlers failed. Multiple causes:
      All attempts to deliver Message to MessageHandlers failed. Multiple causes:
      no output-channel or replyChannel header available
      org.springframework.integration.MessageHandlingException: org.springframework.expression.spel.SpelEvaluationException: EL1004E:(pos 8): Method call: Method transform(rest.bbr.customer_shipping_address_response.json.CustomerShippingAddressResponse) cannot be found on bbr.sap.util.CleanNoPrintCharTransformer type
  See below for the stacktrace of the first cause.
      org.springframework.integration.MessageHandlingException: org.springframework.expression.spel.SpelEvaluationException: EL1004E:(pos 8): Method call: Method transform(java.lang.String) cannot be found on bbr.sap.transformer.CreateCustomerShippingAddressPostTransformer type
  See below for the stacktrace of the first cause.
  </code></pre>
  
  <p>Also, would like to enqueue the message again to the jms queue if the http:outbound-gateway respond as null or if the 3rd party services are down.</p>