On Fri, Dec 31, 2010 at 9:58 PM, Supun Kamburugamuva <[email protected]> wrote:

> +1 for adding multiple XML node support for Enrich mediator.
>

The concept of Source and Target also there in the callout mediator as well.
I think the meaning of both are same and it
is better to unified all source and target UI appear every where.

thanks,
Amila.

>
> Thanks,
> Supun..
>
> On Fri, Dec 31, 2010 at 4:57 PM, Kasun Indrasiri <[email protected]> wrote:
> > Yeah, Enrich mediator doesn't support multiple element. For your
> > requirement, we can use the following config,
> > <proxy name="PseudoProxy" transports="https http" startOnLoad="true"
> > trace="disable">
> >     <target>
> >         <inSequence>
> >             <log level="full"/>
> >             <enrich>
> >                 <source xmlns:ns2="http://brs.carbon.wso2.org";
> >
> >  xpath="//ns2:CustomerOrderProcessRequest/ns2:Customer/ns2:Order"/>
> >                 <target type="property" property="ORDERS_REQ"/>
> >             </enrich>
> >             <log level="custom">
> >                 <property name="BRS_REQ"
> > expression="get-property('ORDERS_REQ')"/>
> >             </log>
> >             <enrich>
> >                 <source type="inline">
> >                     <ns2:CalculatePriceRequest
> > xmlns:ns2="http://brs.carbon.wso2.org";>
> >                         <ns2:foo/>
> >                     </ns2:CalculatePriceRequest>
> >                 </source>
> >                 <target type="body"/>
> >             </enrich>
> >             <enrich>
> >                 <source type="property" property="ORDERS_REQ"/>
> >                 <target xmlns:ns2="http://brs.carbon.wso2.org";
> > xpath="//ns2:CalculatePriceRequest/ns2:foo"/>
> >             </enrich>
> >             <log level="full"/>
> >         </inSequence>
> >         <outSequence>
> >             <log/>
> >         </outSequence>
> >     </target>
> > </proxy>
> > But this only copies the first order element only. So, IMO we need to add
> > this capability to enrich mediator.
> > resulting message:
> > [2010-12-31 16:37:33,760]  INFO - LogMediator To: /services/PseudoProxy,
> > WSAction: urn:get_geo_app_profile, SOAPAction: urn:get_geo_app_profile,
> > MessageID: urn:uuid:B0419F9F6B84FC49B01293793682385, Direction: request,
> > Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body>
> >      <ns2:CalculatePriceRequest xmlns:ns2="http://brs.carbon.wso2.org";>
> >                             <ns2:Order>
> >             <items xmlns="http://pojo.sample.brs/xsd";>
> >                 <price>50.0</price>
> >                 <type>TypeA</type>
> >             </items>
> >             <items xmlns="http://pojo.sample.brs/xsd";>
> >                 <price>60.0</price>
> >                 <type>TypeB</type>
> >             </items>
> >             <ns1:orderID
> > xmlns:ns1="http://pojo.sample.brs/xsd";>Order1</ns1:orderID>
> >         </ns2:Order>
> >                         </ns2:CalculatePriceRequest>
> >    </soapenv:Body></soapenv:Envelope>
> >
> > On Fri, Dec 31, 2010 at 10:08 AM, Hiranya Jayathilaka <[email protected]>
> > wrote:
> >>
> >>
> >> On Fri, Dec 31, 2010 at 6:58 AM, Amila Suriarachchi <[email protected]>
> >> wrote:
> >>>
> >>>
> >>> On Thu, Dec 30, 2010 at 9:38 PM, Hiranya Jayathilaka <[email protected]
> >
> >>> wrote:
> >>>>
> >>>>
> >>>> On Thu, Dec 30, 2010 at 8:46 PM, Amila Suriarachchi <[email protected]>
> >>>> wrote:
> >>>>>
> >>>>>
> >>>>> On Thu, Dec 30, 2010 at 7:02 PM, Supun Kamburugamuva <[email protected]
> >
> >>>>> wrote:
> >>>>>>
> >>>>>> You can use a XSLT as well.
> >>>>>
> >>>>> Is this means I can't use Enrich mediator?
> >>>>
> >>>> Enrich mediator is generally used to swap XML fragments in and out of
> >>>> messages.
> >>>
> >>> you can do a transformation by doing such steps. Let me as this
> question
> >>> this way.
> >>>
> >>> Lets say I get an xml like this
> >>>
> >>> <ns2:
> >>> CustomerOrderProcessRequest xmlns:ns2="http://brs.carbon.wso2.org";>
> >>>     <ns2:Customer>
> >>>         <ns2:name>Amila</ns2:name>
> >>>         <ns2:rating>0.5</ns2:rating>
> >>>         <ns2:maxAmount>50</ns2:maxAmount>
> >>>         <ns2:Order>
> >>>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>                 <price>50.0</price>
> >>>                 <type>TypeA</type>
> >>>             </items>
> >>>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>                 <price>60.0</price>
> >>>                 <type>TypeB</type>
> >>>             </items>
> >>>             <ns1:orderID
> >>> xmlns:ns1="http://pojo.sample.brs/xsd";>Order1</ns1:orderID>
> >>>         </ns2:Order>
> >>>         <ns2:Order>
> >>>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>                 <price>50.0</price>
> >>>                 <type>TypeA</type>
> >>>             </items>
> >>>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>                 <price>60.0</price>
> >>>                 <type>TypeA</type>
> >>>             </items>
> >>>             <ns1:orderID
> >>> xmlns:ns1="http://pojo.sample.brs/xsd";>Order2</ns1:orderID>
> >>>         </ns2:Order>
> >>>     </ns2:Customer>
> >>> </ns2:CustomerOrderProcessRequest>
> >>>
> >>> And I have an xml property (say myProperty) which contains following
> xml
> >>>
> >>> <ns2:CalculatePriceRequest xmlns:ns2="http://brs.carbon.wso2.org"/>
> >>>
> >>> Can I copy the Order elements to above element using enrich mediator?
> >>
> >> You have multiple Order elements in the input XML. So I don't think we
> >> can. At least it's not going to be trivial.
> >> Thanks,
> >> Hiranya
> >>
> >>>>
> >>>> Not sure how easy or suitable to implement a transformation using
> that.
> >>>
> >>> yes we can use transformations but there are not performance wise
> >>> effective isn't it?
> >>>
> >>> As I understood this is what enrich mediator does. Please correct me if
> I
> >>> wrong.
> >>>
> >>> there is a source xml element which can be soap-header, soap-body, a
> >>> property or an inline.
> >>>
> >>> Then we can specify a part of that xml (say sourceXML) using an XPath.
> >>>
> >>> There is a target xml element again can be soap-header, soap-body or
> >>> property
> >>>
> >>> then we can either replace, add as a child or sibling the sourceXML to
> a
> >>> given part of the target XML (again given as xml)
> >>>
> >>> if so we should be able to many transformations using set of enrich
> >>> mediators in a performance effective way.
> >>>
> >>> thanks,
> >>> Amila.
> >>>
> >>>
> >>>>
> >>>> Thanks,
> >>>> Hiranya
> >>>>
> >>>>>
> >>>>> thanks,
> >>>>> Amila.
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Supun..
> >>>>>>
> >>>>>> On Thu, Dec 30, 2010 at 6:29 PM, Paul Fremantle <[email protected]>
> wrote:
> >>>>>> > Do you need performance?
> >>>>>> > I love using E4X/JS mediator for this sort of thing!
> >>>>>> >
> >>>>>> > Paul
> >>>>>> >
> >>>>>> > On 30 December 2010 11:40, Amila Suriarachchi <[email protected]>
> >>>>>> > wrote:
> >>>>>> >>
> >>>>>> >> hi,
> >>>>>> >>
> >>>>>> >> I try to write a sample which uses rules and ESB to process a
> >>>>>> >> customer
> >>>>>> >> order.
> >>>>>> >>
> >>>>>> >> For that I have this requirement.
> >>>>>> >>
> >>>>>> >> The esb proxy service receives a message like this,
> >>>>>> >>
> >>>>>> >> <ns2:CustomerOrderProcessRequest
> >>>>>> >> xmlns:ns2="http://brs.carbon.wso2.org";>
> >>>>>> >>     <ns2:Customer>
> >>>>>> >>         <ns2:name>Amila</ns2:name>
> >>>>>> >>         <ns2:rating>0.5</ns2:rating>
> >>>>>> >>         <ns2:maxAmount>50</ns2:maxAmount>
> >>>>>> >>         <ns2:Order>
> >>>>>> >>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>                 <price>50.0</price>
> >>>>>> >>                 <type>TypeA</type>
> >>>>>> >>             </items>
> >>>>>> >>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>                 <price>60.0</price>
> >>>>>> >>                 <type>TypeB</type>
> >>>>>> >>             </items>
> >>>>>> >>             <ns1:orderID
> >>>>>> >> xmlns:ns1="http://pojo.sample.brs/xsd";>Order1</ns1:orderID>
> >>>>>> >>         </ns2:Order>
> >>>>>> >>         <ns2:Order>
> >>>>>> >>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>                 <price>50.0</price>
> >>>>>> >>                 <type>TypeA</type>
> >>>>>> >>             </items>
> >>>>>> >>             <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>                 <price>60.0</price>
> >>>>>> >>                 <type>TypeA</type>
> >>>>>> >>             </items>
> >>>>>> >>             <ns1:orderID
> >>>>>> >> xmlns:ns1="http://pojo.sample.brs/xsd";>Order2</ns1:orderID>
> >>>>>> >>         </ns2:Order>
> >>>>>> >>     </ns2:Customer>
> >>>>>> >> </ns2:CustomerOrderProcessRequest>
> >>>>>> >>
> >>>>>> >> Then ESB has to send the following message to rule service.
> >>>>>> >>
> >>>>>> >> <ns2:CalculatePriceRequest xmlns:ns2="http://brs.carbon.wso2.org
> ">
> >>>>>> >>     <ns2:Order>
> >>>>>> >>         <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>             <price>50.0</price>
> >>>>>> >>             <type>TypeA</type>
> >>>>>> >>         </items>
> >>>>>> >>         <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>             <price>60.0</price>
> >>>>>> >>             <type>TypeB</type>
> >>>>>> >>         </items>
> >>>>>> >>         <ns1:orderID
> >>>>>> >> xmlns:ns1="http://pojo.sample.brs/xsd";>Order1</ns1:orderID>
> >>>>>> >>     </ns2:Order>
> >>>>>> >>     <ns2:Order>
> >>>>>> >>         <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>             <price>50.0</price>
> >>>>>> >>             <type>TypeA</type>
> >>>>>> >>         </items>
> >>>>>> >>         <items xmlns="http://pojo.sample.brs/xsd";>
> >>>>>> >>             <price>60.0</price>
> >>>>>> >>             <type>TypeA</type>
> >>>>>> >>         </items>
> >>>>>> >>         <ns1:orderID
> >>>>>> >> xmlns:ns1="http://pojo.sample.brs/xsd";>Order2</ns1:orderID>
> >>>>>> >>     </ns2:Order>
> >>>>>> >> </ns2:CalculatePriceRequest>
> >>>>>> >>
> >>>>>> >> Currently I have the following ESB configuration which passes the
> >>>>>> >> received
> >>>>>> >> message as it is.
> >>>>>> >>
> >>>>>> >> <proxy name="CustomerOrderService" transports="https http"
> >>>>>> >> startOnLoad="true" trace="disable">
> >>>>>> >>         <target inSequence="CustomerOrderInSequence"
> >>>>>> >> outSequence="CustomerOrderOutSequence"/>
> >>>>>> >>     </proxy>
> >>>>>> >>     <sequence name="CustomerOrderInSequence">
> >>>>>> >>         <send>
> >>>>>> >>             <endpoint
> >>>>>> >>
> >>>>>> >>
> name="endpoint_urn_uuid_EA2F12A5E60B83D785297590854239961202342050">
> >>>>>> >>                 <address
> >>>>>> >> uri="http://111.223.141.139:9762/services/PriceCalculatorService
> "/>
> >>>>>> >>             </endpoint>
> >>>>>> >>         </send>
> >>>>>> >>     </sequence>
> >>>>>> >>     <sequence name="CustomerOrderOutSequence">
> >>>>>> >>         <send/>
> >>>>>> >>     </sequence>
> >>>>>> >>
> >>>>>> >> I need to get the orders from the received request and create the
> >>>>>> >> out put
> >>>>>> >> message.
> >>>>>> >> One options is to use the XSLT transformations instead of can I
> use
> >>>>>> >> the
> >>>>>> >> enrich mediator?
> >>>>>> >>
> >>>>>> >> If I use enrich mediator what are the steps?
> >>>>>> >>
> >>>>>> >> I tried to do following steps. But seems to be not working.
> >>>>>> >>
> >>>>>> >> 1. create a property with empty
> >>>>>> >> <ns2:CalculatePriceRequest xmlns:ns2="http://brs.carbon.wso2.org
> ">
> >>>>>> >>
> >>>>>> >> 2. Then copy the orders from the soap body to the element
> property.
> >>>>>> >> 3. Replace this property om element with the soap body.
> >>>>>> >>
> >>>>>> >> thanks,
> >>>>>> >> Amila.
> >>>>>> >>
> >>>>>> >> _______________________________________________
> >>>>>> >> Carbon-dev mailing list
> >>>>>> >> [email protected]
> >>>>>> >> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>>> >>
> >>>>>> >
> >>>>>> >
> >>>>>> >
> >>>>>> > --
> >>>>>> > Paul Fremantle
> >>>>>> > CTO and Co-Founder, WSO2
> >>>>>> > OASIS WS-RX TC Co-chair, VP, Apache Synapse
> >>>>>> >
> >>>>>> > Office: +44 844 484 8143
> >>>>>> > Cell: +44 798 447 4618
> >>>>>> >
> >>>>>> > blog: http://pzf.fremantle.org
> >>>>>> > twitter.com/pzfreo
> >>>>>> > [email protected]
> >>>>>> >
> >>>>>> > wso2.com Lean Enterprise Middleware
> >>>>>> >
> >>>>>> > Disclaimer: This communication may contain privileged or other
> >>>>>> > confidential
> >>>>>> > information and is intended exclusively for the addressee/s. If
> you
> >>>>>> > are not
> >>>>>> > the intended recipient/s, or believe that you may have received
> this
> >>>>>> > communication in error, please reply to the sender indicating that
> >>>>>> > fact and
> >>>>>> > delete the copy you received and in addition, you should not
> print,
> >>>>>> > copy,
> >>>>>> > retransmit, disseminate, or otherwise use the information
> contained
> >>>>>> > in this
> >>>>>> > communication. Internet communications cannot be guaranteed to be
> >>>>>> > timely,
> >>>>>> > secure, error or virus-free. The sender does not accept liability
> >>>>>> > for any
> >>>>>> > errors or omissions.
> >>>>>> >
> >>>>>> > _______________________________________________
> >>>>>> > Carbon-dev mailing list
> >>>>>> > [email protected]
> >>>>>> > https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>>> >
> >>>>>> >
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Supun Kamburugamuva
> >>>>>> Technical Lead
> >>>>>> WSO2 Inc.;  http://wso2.org
> >>>>>> E-mail: [email protected];  Mobile: +94 77 431 3585
> >>>>>> Blog: http://supunk.blogspot.com
> >>>>>> _______________________________________________
> >>>>>> Carbon-dev mailing list
> >>>>>> [email protected]
> >>>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Carbon-dev mailing list
> >>>>> [email protected]
> >>>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Hiranya Jayathilaka
> >>>> Senior Software Engineer;
> >>>> WSO2 Inc.;  http://wso2.org
> >>>> E-mail: [email protected];  Mobile: +94 77 633 3491
> >>>> Blog: http://techfeast-hiranya.blogspot.com
> >>>>
> >>>> _______________________________________________
> >>>> Carbon-dev mailing list
> >>>> [email protected]
> >>>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Carbon-dev mailing list
> >>> [email protected]
> >>> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>
> >>
> >>
> >>
> >> --
> >> Hiranya Jayathilaka
> >> Senior Software Engineer;
> >> WSO2 Inc.;  http://wso2.org
> >> E-mail: [email protected];  Mobile: +94 77 633 3491
> >> Blog: http://techfeast-hiranya.blogspot.com
> >>
> >> _______________________________________________
> >> Carbon-dev mailing list
> >> [email protected]
> >> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>
> >
> >
> >
> > --
> > Kasun Indrasiri
> > Senior Software Engineer
> > WSO2, Inc.; http://wso2.com
> > lean.enterprise.middleware
> >
> > cell: +94 71 536 4128
> > Blog : http://kasunpanorama.blogspot.com/
> >
> > _______________________________________________
> > Carbon-dev mailing list
> > [email protected]
> > https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >
> >
>
>
>
> --
> Supun Kamburugamuva
> Technical Lead
> WSO2 Inc.;  http://wso2.org
> E-mail: [email protected];  Mobile: +94 77 431 3585
> Blog: http://supunk.blogspot.com
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
_______________________________________________
Carbon-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to