Hi

I just tried with 2.14-snapshot on karaf 2.3.6 and it worked fine

davsclaus:~/$ curl -X POST -H "Content-Type:application/json" --data
"{"Hello":"World"}" http://localhost:4000/harald/call
{Hello:World}davsclaus:~/$
davsclaus:~/$ curl -X POST -H "Content-Type:application/xml" --data
"<Hello>World</Hello>" http://localhost:4000/harald/call
<Hello>World</Hello>davsclaus:~/$



On Thu, Aug 21, 2014 at 11:10 AM, Harald Neiss <[email protected]> wrote:
> Hi
>
> On 21 Aug 2014, at 08:18, Claus Ibsen <[email protected]> wrote:
>
>> Hi
>>
>> You can use tracer to see the messages details during routing and see
>> what headers you have
>> http://camel.apache.org/tracer
>
> Thanks for the reference! I added the trace attribute to the route (see 
> below).
>
>> Also mind that maybe the content type header is not 100% matching
>> 'application/xml' etc. As sometimes they may have charset or other
>> values included.
>
> Yes, but since I’m currently using curl I am sure (and see the trace below) 
> that it is send without encoding information.
>
>>
>> The simple language has a contains function you can use
>> http://camel.apache.org/simple
>>
>
> Tanks for referencing.
>
>
> I just realised that I did not include the version I use and the environment. 
> Sorry for that. It’s Camel 2.10.7 which is embedded in ServiceMix 4.5.3.
>
> The file I copy into the deploy folder of SMX looks like this (it’s the 
> simplified version)
>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>            xsi:schemaLocation="
>            http://www.osgi.org/xmlns/blueprint/v1.0.0 
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>            ">
>   <camelContext xmlns="http://camel.apache.org/schema/blueprint";>
>     <route trace="true">
>       <from uri="jetty:http://localhost:4000/harald/call"/>
>        <choice>
>          <when>
>            <simple>${in.headers['Content-Type']} == 
> 'application/json'</simple>
>            <to uri="log:JSON?level=INFO"/>
>          </when>
>          <when>
>            <simple>${in.headers['Content-Type']} == 'application/xml'</simple>
>            <to uri="log:XML?level=INFO"/>
>          </when>
>          <otherwise>
>            <to uri="log:RAW?level=INFO"/>
>          </otherwise>
>        </choice>
>     </route>
>   </camelContext>
> </blueprint>
>
> Then I used curl to send requests. The following shows three calls and the 
> output of them, hard to read but complete.
>
> Thanks for helping!
>
> Best regards,
> harald
>
>
>
> curl -X POST -H "Content-Type:application/json" --data "{"Hello":"World"}" 
> http://localhost:4000/harald/call
>
>
> 10:39:19,421 | INFO  | qtp795636687-809 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-10 >>> (route24) 
> from(http://localhost:4000/harald/call) --> choice <<< Pattern:InOut, 
> Headers:{CamelHttpMethod=POST, Host=localhost:4000, 
> CamelHttpPath=/harald/call, CamelHttpUri=/harald/call, CamelHttpQuery=null, 
> Content-Length=13, CamelHttpServletResponse=HTTP/1.1 200
>
> , User-Agent=curl/7.30.0, breadcrumbId=ID-beauty-49610-1408606366390-10-11, 
> Content-Type=application/json, Accept=*/*, 
> CamelHttpUrl=http://localhost:4000/harald/call, CamelHttpServletRequest=(POST 
> /harald/call)@504434790 org.eclipse.jetty.server.Request@1e111066}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:39:19,422 | INFO  | qtp795636687-809 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-10 >>> (route24) choice --> 
> log://RAW?level=INFO <<< Pattern:InOut, Headers:{CamelHttpMethod=POST, 
> Host=localhost:4000, CamelHttpPath=/harald/call, CamelHttpUri=/harald/call, 
> CamelHttpQuery=null, Content-Length=13, CamelHttpServletResponse=HTTP/1.1 200
>
> , User-Agent=curl/7.30.0, breadcrumbId=ID-beauty-49610-1408606366390-10-11, 
> Content-Type=application/json, Accept=*/*, 
> CamelHttpUrl=http://localhost:4000/harald/call, CamelHttpServletRequest=(POST 
> /harald/call)@504434790 org.eclipse.jetty.server.Request@1e111066}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:39:19,422 | INFO  | qtp795636687-809 | RAW                              | 
> 100 - org.apache.camel.camel-core - 2.10.7 | Exchange[ExchangePattern:InOut, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]]
>
>
> curl -X POST -H "Content-Type:application/xml" --data "<Hello>World</Hello>" 
> http://localhost:4000/harald/call
>
>
> 10:39:58,098 | INFO  | qtp795636687-809 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-12 >>> (route24) 
> from(http://localhost:4000/harald/call) --> choice <<< Pattern:InOut, 
> Headers:{CamelHttpUrl=http://localhost:4000/harald/call, CamelHttpQuery=null, 
> breadcrumbId=ID-beauty-49610-1408606366390-10-13, 
> CamelHttpServletResponse=HTTP/1.1 200
>
> , CamelHttpMethod=POST, Content-Type=application/xml, 
> CamelHttpServletRequest=(POST /harald/call)@954758347 
> org.eclipse.jetty.server.Request@38e874cb, Host=localhost:4000, 
> CamelHttpPath=/harald/call, User-Agent=curl/7.30.0, Content-Length=20, 
> Accept=*/*, CamelHttpUri=/harald/call}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:39:58,098 | INFO  | qtp795636687-809 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-12 >>> (route24) choice --> 
> log://RAW?level=INFO <<< Pattern:InOut, 
> Headers:{CamelHttpUrl=http://localhost:4000/harald/call, CamelHttpQuery=null, 
> breadcrumbId=ID-beauty-49610-1408606366390-10-13, 
> CamelHttpServletResponse=HTTP/1.1 200
>
> , CamelHttpMethod=POST, Content-Type=application/xml, 
> CamelHttpServletRequest=(POST /harald/call)@954758347 
> org.eclipse.jetty.server.Request@38e874cb, Host=localhost:4000, 
> CamelHttpPath=/harald/call, User-Agent=curl/7.30.0, Content-Length=20, 
> Accept=*/*, CamelHttpUri=/harald/call}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:39:58,098 | INFO  | qtp795636687-809 | RAW                              | 
> 100 - org.apache.camel.camel-core - 2.10.7 | Exchange[ExchangePattern:InOut, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]]
>
>
> curl -X POST -H "Content-Type:text/text" --data "Hello World" 
> http://localhost:4000/harald/call
>
>
> 10:41:32,288 | INFO  | qtp795636687-810 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-14 >>> (route24) 
> from(http://localhost:4000/harald/call) --> choice <<< Pattern:InOut, 
> Headers:{CamelHttpQuery=null, CamelHttpUrl=http://localhost:4000/harald/call, 
> CamelHttpMethod=POST, Accept=*/*, Content-Type=text/text, 
> CamelHttpServletRequest=(POST /harald/call)@789730262 
> org.eclipse.jetty.server.Request@2f1253d6, CamelHttpUri=/harald/call, 
> breadcrumbId=ID-beauty-49610-1408606366390-10-15, CamelHttpPath=/harald/call, 
> CamelHttpServletResponse=HTTP/1.1 200
>
> , Content-Length=11, Host=localhost:4000, User-Agent=curl/7.30.0}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:41:32,289 | INFO  | qtp795636687-810 | Tracer                           | 
> 100 - org.apache.camel.camel-core - 2.10.7 | 
> ID-beauty-49610-1408606366390-10-14 >>> (route24) choice --> 
> log://RAW?level=INFO <<< Pattern:InOut, Headers:{CamelHttpQuery=null, 
> CamelHttpUrl=http://localhost:4000/harald/call, CamelHttpMethod=POST, 
> Accept=*/*, Content-Type=text/text, CamelHttpServletRequest=(POST 
> /harald/call)@789730262 org.eclipse.jetty.server.Request@2f1253d6, 
> CamelHttpUri=/harald/call, breadcrumbId=ID-beauty-49610-1408606366390-10-15, 
> CamelHttpPath=/harald/call, CamelHttpServletResponse=HTTP/1.1 200
>
> , Content-Length=11, Host=localhost:4000, User-Agent=curl/7.30.0}, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]
> 10:41:32,289 | INFO  | qtp795636687-810 | RAW                              | 
> 100 - org.apache.camel.camel-core - 2.10.7 | Exchange[ExchangePattern:InOut, 
> BodyType:org.apache.camel.converter.stream.InputStreamCache, Body:[Body is 
> instance of org.apache.camel.StreamCache]]
>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [email protected]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to