Hello,
We are using Jboss 7.1.1 as our app server and we use camel as the routing
layer. In the following configuration, vendorConsumer receives the request
and redirects the request to the actual provider. In response the provider
sends the data with corresponding hyper links. We create the hyperlink using
HttpHeader host(Host) and context (org.apache.cxf.request.uri) key values.

However for the key (Host)) as part of http header we are only receiving the
redirected URL Host (providerhost)  but not the origin Host name
(REMOTEHOST). *What's the best way to capture this?* I looked through all
HttpHeaders i don't have any key contains such information except the
breadcrumbId but its value has some unique format
([ID-REMOTEHOST-081075-2474-1345582555484-1-42],) not sure how far i can use
this. Do I need use custom http headers for this.

Another question on the same lines, *how do i get the actual protocol
information (http/https)?* 

*Note: *Some times we see the whole HttpHeader object it self is null. Not
sure why Jboss is behaving that way.. 

*Log of the HTTP Header:*
12:10:05,166 INFO  [com.dummy.common.utils.CamelCXFRedirectedURL]
(http--0.0.0 .0-8080-1) {Accept=[text/html, application/xhtml+xml,
application/xml;q=0.9, */* ;q=0.8], accept-encoding=[gzip, deflate],
accept-language=[en-us, en;q=0.5], bre
adcrumbid=[ID-REMOTEHOST-081075-2474-1345582555484-1-42],
cache-control=[no-cache] , camelcxfrsresponsegenerictype=[class
javax.ws.rs.core.Response], connection=[keep-alive], content-type=[*/*],
host=[PROVIDERHOST-097052:8080],
org.apache.cxf.request.uri=[/fdx-web-1.0/TestApp/Vendor/&3903&COOLEY/],
pragma=[no-cache], user-ag ent=[Mozilla/5.0 (Windows NT 5.1; rv:14.0)
Gecko/20100101 Firefox/14.0.1, Apache  CXF 2.5.1]}

 * /<camel:camelContext>
        <camel:route>
           <camel:from uri="cxfrs://bean://vendorConsumer"/>
                        
                        <camel:removeHeader headerName="Content-Length" />      
 
           <camel:to uri="cxfrs://bean://vendorProducer"/>       
        </camel:route>
 </camel:camelContext>

  <cxf:rsServer id="vendorConsumer" address="/Redirect/Vendor"
        serviceClass="com.dummy.rest.resource.impl.VendorRSImpl" 
        loggingFeatureEnabled="true">
        <cxf:extensionMappings>
      <entry key="json" value="application/json"/>
      <entry key="xml" value="application/xml"/>
    </cxf:extensionMappings>    
  </cxf:rsServer>

  <cxf:rsClient id="vendorProducer"
address="http://providerhost:8080/FDX/TestApp/Vendor"; 
        serviceClass="com.dummy.rest.resource.api.VendorRS" 
inheritHeaders="true"
        loggingFeatureEnabled="true" >
  </cxf:rsClient>/*
Thanks,
Sridhar



--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-redirect-through-Rest-cxf-rsClient-not-keeping-orgin-host-information-in-Http-Headers-tp5717882.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to