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
