Hi again :) One more (last one hopefully) problem I've had is related to this: http://camel.465427.n5.nabble.com/Bridging-between-HTTP-endpoints-td476103.html Any plans/news to this? At least I can clean the headers, so it works…I'm just curious about current situation.
Please guys, talk to me, I feel really alone here :) On Fri, Jan 4, 2013 at 10:36 PM, Martin Stiborský < [email protected]> wrote: > Finally solved. About time, it was out of options anyway, it was > inevitable to stumble over correct solution :D > Two things, erase exchange body passed from CXF (it works but why it's > like that?), then gzip unmarshalling (that was hard for me to find out, > stupid me). > > from("cxfrs:bean:jenkinsServer") > .choice() > .when(header(CxfConstants.OPERATION_NAME).isEqualTo("test")) > .setBody(constant("")) > .to("http://www.google.com?bridgeEndpoint=true") > .unmarshal().gzip().convertBodyTo(String.class) > > Woooohoooo :) > > > On Fri, Jan 4, 2013 at 3:07 PM, Martin Stiborský < > [email protected]> wrote: > >> Maybe, it's really a CXF problem? >> Because, it seems to me that the Camel HTTP component just does its job >> as expected... >> I wrote a simple test and voila - google is there :) >> It's failing of course, I was maily curious about the body content, >> that's why the asserting with "". >> >> public class FetchWebTest extends CamelTestSupport { >> >> @EndpointInject(uri = "mock:fetchWebpage") >> protected MockEndpoint resultEndpoint; >> >> @Produce(uri = "direct:start") >> protected ProducerTemplate template; >> >> @Test >> public void testDatFetch() throws InterruptedException { >> String expectedBody = ""; >> >> resultEndpoint.expectedBodiesReceived(expectedBody); >> >> template.sendBodyAndHeader("", Exchange.HTTP_METHOD, "GET"); >> >> resultEndpoint.assertIsSatisfied(); >> } >> >> @Override >> protected RouteBuilder createRouteBuilder() { >> return new RouteBuilder() { >> @Override >> public void configure() throws Exception { >> from("direct:start").to("http://www.google.com >> ").to("mock:fetchWebpage"); >> } >> }; >> } >> } >> >> >> >> On Fri, Jan 4, 2013 at 1:23 PM, Martin Stiborský < >> [email protected]> wrote: >> >>> Hi, >>> I have a simple case - CXF as producer and based on the HTTP request >>> parameters, I need fetch some web page - with help of Camel HTTP component, >>> I guess. >>> >>> For start, simple code: >>> >>> from("cxfrs:bean:jenkinsServer") >>> .choice() >>> .when(header(CxfConstants.OPERATION_NAME).isEqualTo("test")) >>> .to(" >>> http://www.google.com?bridgeEndpoint=true&throwExceptionOnFailure=false >>> ") >>> >>> I'd expect, that after I hit a "localhost:1234/test" in my browser, I'll >>> see a google.com source code, wrong :( Actually, I've got an exception: >>> >>> org.apache.camel.InvalidPayloadException: No body available of type: >>> java.io.InputStream but has value: [] of type: >>> org.apache.cxf.message.MessageContentsList on: Message: []. Caused by: No >>> type converter available to convert from type: >>> org.apache.cxf.message.MessageContentsList to the required type: >>> java.io.InputStream with value []. Exchange[Message: []]. Caused by: >>> [org.apache.camel.NoTypeConversionAvailableException - No type converter >>> available to convert from type: org.apache.cxf.message.MessageContentsList >>> to the required type: java.io.InputStream with value []] >>> >>> Now, after so many tries and googling, I'm not sure why and where it's >>> wrong... >>> >>> Is there a way how to make it work? Sure I can write my own bean to >>> fetching data with HTTP requests, but I was thinking that Camel HTTP >>> component could be capable of that. >>> >>> -- >>> S pozdravem / Best regards >>> Martin Stiborský >>> >>> Jabber: [email protected] >>> Twitter: http://www.twitter.com/stibi >>> >> >> >> >> -- >> S pozdravem / Best regards >> Martin Stiborský >> >> Jabber: [email protected] >> Twitter: http://www.twitter.com/stibi >> > > > > -- > S pozdravem / Best regards > Martin Stiborský > > Jabber: [email protected] > Twitter: http://www.twitter.com/stibi > -- S pozdravem / Best regards Martin Stiborský Jabber: [email protected] Twitter: http://www.twitter.com/stibi
