Hmm, You probably do export it's package correctly in the manifest, though I know I've often forgotten to, is it correct? Could you post the exception trace so we can have a look?
On Fri, Jan 15, 2010 at 6:46 AM, lekkie <lekkie.ay...@gmail.com> wrote: > > Thanks Stephen. > > I followed your sample snippet below. > > The wiretap was a success, however, I couldnt get through with the > aggregator. > > It kept complaining class not found for my custom aggregator. See sample > snippet below: > > <osgi:camelContext xmlns="http://camel.apache.org/schema/spring" > trace="true"> > > <package>org.tempuri</package> > > <route> > <from uri="nmr:RequestProcessor" /> > <wireTap uri="direct:ProcessorServices"/> > <!-- <to uri="log:TerminalManagerRequest"/>--> > <to > uri="nmr:{http://services.locator/}ServicesService:ServicesPort"/> > <to uri="direct:ProcessorServices"/> > </route> > > <route> > <from uri="direct:ProcessorServices" /> > <aggregate strategyRef="myAggregatorStrategy" batchSize="2"> > <correlationExpression> > <constant>true</constant> > </correlationExpression> > <to uri="log:Response"/> > </aggregate> > </route> > > </osgi:camelContext> > > <bean id="myAggregatorStrategy" > class="org.tempuri.MyAggregationStrategy"/> > > </beans> > > > > I have the ffg in my project > > src/main/java/org/tempuri/MyAggregationStrategy.java > src/main/resources/META-INF/spring/camel-context.xml > > And I can confirm the class is compiled with the bundle deployed. > > Any ideas? > > > > > Stephen Gargan wrote: >> >> Hi, >> >> You can use Wiretaps and an aggregator to do what you're suggesting. >> At each step that you want an intermediate result to be available, >> wiretap it off to an aggregator and set the batch size of the >> aggregator accordingly. >> >> from("direct:consumerEndpoint").wireTap("direct:aggregator").to("direct:requestToSomeEndpointTransformer").to( >> "direct:someEndpoint").to("direct:aggregator"); >> >> from("direct:aggregator").aggregate().header("id").batchSize(2).groupExchanges().to("mock:result"); >> >> One thing to note is that groupExchanges() will gather up all the >> aggregated exchanges and store them in a property in the exchange. You >> get at them via >> >> List<Exchange> grouped = e.getProperty(Exchange.GROUPED_EXCHANGE, >> List.class); >> >> You'll need to write a custom processor (in place of the mock) to >> combine/transform them to your liking as before responding. You can >> find a bunch of info about aggregators here >> >> http://camel.apache.org/aggregator.html >> >> ste. >> >> On Thu, Jan 14, 2010 at 12:12 AM, lekkie <lekkie.ay...@gmail.com> wrote: >>> >>> Hi guys, >>> >>> >>> Just a quick one. I have this scenario where I 'd like to manipulate a >>> request and some reponse from an endpoint. The flow below describe what I >>> am >>> trying to achieve: >>> >>> <osgi:camelContext xmlns="http://camel.apache.org/schema/spring" >>> trace="true"> >>> <route> >>> <from uri="nmr:consumerEndpoint"/> >>> <to uri="xslt:requestToSomeEndpoint.xsl"/> >>> <to uri="nmr:someEndpoint"/> >>> <to uri="xslt:requestToAnotherEndpoint.xsl"/> >>> <to uri="nmr:anotherEndpoint"/> >>> </route> >>> </camelcontext> >>> >>> I'd like the transformation (requestToAnotherEndpoint.xsl) to be able to >>> access/manipulate the original request message from nmr:consumerEndpoint >>> and >>> the response from nmr:someEndpoint in order to product its output. >>> >>> Is this scenario possible? >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27157259.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >> > > -- > View this message in context: > http://old.nabble.com/Request-message-accessibility-manipulation-tp27157259p27178135.html > Sent from the Camel - Users mailing list archive at Nabble.com. > >