thnx, so no workaround until 2.4 :( attilav
willem.jiang wrote: > > Oh, I found the key, it's a bug of camel-http. > Current message header is using CaseInsensitiveMap[1] to store the > header key and value. > > And the HttpProducer should use the map.entrySet() to access the value > instead of use map.getKeySet() to go through the headers. > > I already create a JIRA[2] for it. > > [1]https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/main/java/org/apache/camel/util/CaseInsensitiveMap.java > > [2]https://issues.apache.org/activemq/browse/CAMEL-2743 > > Willem > > > attilav wrote: >> Some more info I found: >> >> After the http request the camel exchange headers >> (exchange.getIn().getHeaders()) seem to be OK, that is, the headers are >> copied correctly from the in message, and the http response headers are >> added too. >> >> 2010-05-20 13:29:46,502 | INFO | xINH >> VVVVVVVVVVVVVVV{CamelHttpMethod=POST, >> myHeaDer=akarmi head, Content-Length=1003, xxxSOAPAction=sakarmi head, >> Expires=0, Cache-Control=private, pre-check=0, post-check=0, max-age=0, >> Pragma=no-cache, Server=MX/WEBSERVICE 3.X, Content-Type=text/xml; >> charset=UTF-8, CamelHttpResponseCode=500, >> SOAPAction="http://xxx.com/interfaces/ticket", Connection=close} >> >> br, >> attila >> >> >> attilav wrote: >>> Hi Willem, >>> >>> I'm using camel 2.2.0 - within servicemix 3.3. >>> >>> thanks for the quick answer, >>> attilav >>> >>> >>> willem.jiang wrote: >>>> Hi >>>> >>>> Which Camel version are you using? >>>> I just checked the camel trunk code, there is no code which turn the >>>> headers into lower case. >>>> >>>> Willem >>>> >>>> attilav wrote: >>>>> Hi everyone, >>>>> >>>>> I'm trying to use the camel-http to send a soap request, however the >>>>> camel >>>>> exchange headers get converted to lowercase during the http post. Is >>>>> this a >>>>> feature, or bug? Is there a way around it? >>>>> >>>>> My setup is something like this: >>>>> >>>>> from("activemq:queue:tempque") >>>>> .setHeader(Exchange.HTTP_METHOD, >>>>> constant(org.apache.camel.component.http.HttpMethods.POST)) >>>>> .setHeader("SOAPAction", >>>>> constant("http://xxx.com/interfaces/ticket")) >>>>> .setHeader("Content-Type", constant("text/xml; charset=utf-8")) >>>>> .setHeader("myHeaDer", constant("akarmi head")) >>>>> .setHeader("xxxSOAPAction", constant("sakarmi head")) >>>>> .to("http://iface.intra:8115/ticket") >>>>> >>>>> what actually gets sent over the wire is: >>>>> >>>>> POST /fault_ticket HTTP/1.1 >>>>> myheader: akarmi head >>>>> soapaction: "http://xxx.com/interfaces/ticket" >>>>> xxxsoapaction: sakarmi head >>>>> User-Agent: Jakarta Commons-HttpClient/3.1 >>>>> Host: iface.nrps.telekom.intra:8115 >>>>> Content-Length: 1056 >>>>> Content-Type: text/xml; charset=utf-8 >>>>> >>>>> <soap:Envelope .... >>>>> >>>>> The remote side is case sensitive on http headers, and complies about >>>>> an >>>>> invalid soap action. >>>>> >>>>> Thanks >>>>> attilav >>>> >>>> >>> >> > > > -- View this message in context: http://old.nabble.com/camel-http-converts-headers-to-lower-case-tp28620717p28621640.html Sent from the Camel - Users mailing list archive at Nabble.com.