[ 
https://issues.apache.org/jira/browse/CAMEL-10429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15639461#comment-15639461
 ] 

ASF GitHub Bot commented on CAMEL-10429:
----------------------------------------

GitHub user tadayosi opened a pull request:

    https://github.com/apache/camel/pull/1249

    CAMEL-10429 - CXFRS client requires Exchange.HTTP_URI instead of HTTP_PATH 
for Camel tranport

    https://issues.apache.org/jira/browse/CAMEL-10429
    
    Consolidating the header mapping logic into `CxfHeaderHelper`. The core 
part of the fix is this line:
    
https://github.com/apache/camel/compare/master...tadayosi:CAMEL-10429?expand=1#diff-ddb35843f1171bf5023cbf3a72fa2581R107
    where CXF HTTP header mappings are added to `propagateCxfToCamel(..)` 
method.
    
    However, there is still room for further consolidation of the header 
mapping logic between `DefaultCxfRsBinding` and `CxfHeaderHelper`. I'll file 
another JIRA later for this refactoring.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tadayosi/camel CAMEL-10429

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/1249.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1249
    
----
commit e55502ea019a7b092303a67d3adb1c2cbe972d74
Author: Tadayoshi Sato <[email protected]>
Date:   2016-11-05T07:49:01Z

    CAMEL-10429 - CXFRS client requires Exchange.HTTP_URI instead of HTTP_PATH 
for Camel tranport

----


> 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
>         Attachments: camel-cxf-transport.zip
>
>
> 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.
> {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}
> Otherwise it fails with {{404}} error.



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

Reply via email to