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)