I guess the configuration that you have provided seems to be conceptually OK, but I cannot exactly understand the business problem in hand. Please explain the actual issue that you are facing with this configuration, so that I can help you with getting this to work.
Thanks, Ruwan On Wed, Dec 3, 2008 at 7:32 PM, Java Programmer <[EMAIL PROTECTED]>wrote: > Hello, > I have problem with aggregating messages when some of them is turned > off e.g. my request have two tags which let to ask webservices about > some things, and not other: > <book:getPackage> > <!-- we do not ask for flights --> > <flights>false</flights> > <hotels>true</hotels> > <!--Optional:--> > <departure>PAR</departure> > <!--Optional:--> > <destination>BER</destination> > <!--Optional:--> > <date>2008-12-13</date> > </book:getPackage> > I think something like this should work, but client who is asking for > data wait for other endpoint also, which we really not ask for data: > <?xml version="1.0" encoding="UTF-8"?> > <definitions xmlns="http://ws.apache.org/ns/synapse" > xmlns:book="http://test.com/booking"> > > <sequence name="flights-sequence"> > <filter source="//book:getPackage/flights" regex="true"> > <then> > <send> > <endpoint> > <address uri=" > http://localhost:8166/" /> > </endpoint> > </send> > </then> > <else> > <!-- i try to <drop /> message, but don't > work, aslo make > fault and also property name="RESPONSE" value="true" still not work > --> > <send> > <makefault> > <code value="tns:Receiver" > xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/> > <reason value="book:DROPPED"/> > </makefault> > </send> > </else> > </filter> > </sequence> > > <sequence name="hotels-sequence"> > <filter source="//book:getPackage/hotels" regex="true"> > <then> > <send> > <endpoint> > <address uri=" > http://localhost:8177/" /> > </endpoint> > </send> > </then> > <else> > <makefault> > <code value="tns:Receiver" > xmlns:tns="http://www.w3.org/2003/05/soap-envelope"/> > <reason value="book:DROPPED"/> > </makefault> > <send /> > </else> > </filter> > </sequence> > > <proxy name="BookingSystemProxy"> > <target> > <inSequence> > <clone continueParent="false"> > <target sequence="flights-sequence" > /> > <target sequence="hotels-sequence" > /> > </clone> > </inSequence> > > <outSequence> > <aggregate> > <onComplete > expression="//fareResponse|//Response"> > <send /> > </onComplete> > </aggregate> > </outSequence> > </target> > > <publishWSDL > uri="file:repository/conf/resources/BookingService.wsdl" /> > </proxy> > </definitions> > > I look for the best pattern to split message and send them to > different endpoints, recieve output and aggregate after - if on given > example are some conceptual mistakes, please let me know. we don't > really not need to produce fault message, we just want to split > request into different subrequests, and make not pause when system > want to aggregarte 2 of them, but only one was send further by the > filter. > > Best regards and thx for help in advance, > Adr > -- Ruwan Linton http://wso2.org - "Oxygenating the Web Services Platform" http://ruwansblog.blogspot.com/
