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/

Reply via email to