You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Tadayoshi Sato (JIRA)" <ji...@apache.org> on 2016/11/01 11:14:58 UTC

[jira] [Created] (CAMEL-10429) CXFRS client requires Exchange.HTTP_URI instead of HTTP_PATH for Camel tranport

Tadayoshi Sato created CAMEL-10429:
--------------------------------------

             Summary: CXFRS client requires Exchange.HTTP_URI instead of HTTP_PATH for Camel tranport
                 Key: CAMEL-10429
                 URL: https://issues.apache.org/jira/browse/CAMEL-10429
             Project: Camel
          Issue Type: Bug
          Components: camel-cxfrs
    Affects Versions: 2.18.0
            Reporter: Tadayoshi Sato


The [camel-cxfrs doc|http://camel.apache.org/cxfrs.html] writes that {{HTTP_PATH}} is required for {{camel-cxfrs}} producer when it's used with {{httpClientAPI}} option.
{quote}
The CXF JAXRS front end also provides a http centric client API. You can also invoke this API from camel-cxfrs producer. You need to specify the HTTP_PATH and the HTTP_METHOD and let the producer use the http centric client API by using the URI option httpClientAPI or by setting the message header CxfConstants.CAMEL_CXF_RS_USING_HTTP_API.
{quote}
However, when Camel transport is used between CXFRS producer and consumer, the invocation succeeds only if it sets {{HTTP_URI}}, not {{HTTP_PATH}}, to the header. Otherwise it fails with {{404}} error.
{code:java}
                from("direct:input.camel")
                    .setHeader(Exchange.HTTP_METHOD, constant("GET"))
                    .setHeader(Exchange.CONTENT_TYPE, constant("text/plain"))
                    .setHeader(Exchange.HTTP_URI, simple("/greeting/hello/${body}"))
                    //.setHeader(Exchange.HTTP_PATH, simple("/greeting/hello/${body}")) // <- fails
                    .inOut("cxfrs:bean:rsClient");
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)