Hi Amal, Thanks for the suggestion. this would more suite for the requirement I have.
Regards, Sameera. On Fri, Jan 5, 2018 at 2:34 PM, Amal Gunatilake <am...@wso2.com> wrote: > Hi Sameera, > > You can use the XSLT mediator as well. > > > { > "phoneNumbers":[ > { > "number":"123", > "person":"tt" > }, > { > "number":"555", > "person":"aaa" > } > ] > } > > > convert the json payload into xml using the messageType property. > *<property name="messageType" value="application/xml" scope="axis2"/>* > > You will get a message something like below. > > <jsonObject> > <phoneNumbers> > <element> > <number>123</number> > <person>tt</person> > </element> > <element> > <number>555</number> > <person>aaa</person> > </element> > </phoneNumbers> > </jsonObject> > > > Now you can use the xslt mediator with a script similar to below. > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/"> > *<web:Payload>* > * <web:PhoneNumbers>* > <xsl:for-each select="//element"> > *<web:PhoneNumber>* > *<web:Number>*<xsl:value-of select="number"/>*</web:Number>* > *<web:Person>*<xsl:value-of select="person"/>*</web:Person>* > *</web:PhoneNumber>* > </xsl:for-each> > *</web:PhoneNumbers>* > *</web:Payload>* > </xsl:template> > </xsl:stylesheet> > > Result > > <web:payload><web:phonenumbers><web:phonenumber> > <web:number>123</web:number><web:person>tt</web:person></ > web:phonenumber><web:phonenumber><web:number>555</ > web:number><web:person>aaa</web:person></web:phonenumber>< > /web:phonenumbers></web:payload> > > > Best regards, > Amal. > > On Fri, Jan 5, 2018 at 2:21 PM, Vinod Kavinda <vi...@wso2.com> wrote: > >> Hi Sameera, >> Did you try the script mediator? Please refer SO question[1], script >> mediator has been successfully used here for a similar case. >> >> [1] - https://stackoverflow.com/questions/44817012/how-to-transf >> orm-json-array-response-to-xml-array-in-esb-wso2-using-script-media >> >> Regards, >> Vinod >> >> On Fri, Jan 5, 2018 at 1:51 PM, Sameera Gunarathne <samee...@wso2.com> >> wrote: >> >>> Hi, >>> >>> I'm generating a soap message from a JSON payload and there I would get >>> custom object arrays for the payload. An example message format would be >>> like below. >>> >>> { >>> "phoneNumbers":[ >>> { >>> "number":"", >>> "person":"" >>> } >>> ] >>> } >>> >>> respective soap message should be like this. >>> >>> <web:Payload> >>> <web:PhoneNumbers> >>> <web:PhoneNumber> >>> <web:Number></web:Number> >>> <web:Person></web:Person> >>> <web:PhoneNumber/> >>> </web:PhoneNumbers> >>> </web:Payload> >>> >>> I have used a payload factory mediator for the simple object >>> types(without arrays) and I use property mediator to access the object >>> fields so that I can inject them using an argument to the message template >>> used for payload factory. But when getting an array of as mentioned payload >>> the argument should be populated with following elements for the size of >>> the array. >>> >>> * <web:PhoneNumber>* >>> * <web:Number></web:Number>* >>> * <web:Person></web:Person>* >>> * <web:PhoneNumber/>* >>> >>> In this case, is there a way I can use payload factory with property >>> mediator? Or Is there a recommended mediators I can use for this scenario? >>> >>> Thanks and Regards, >>> Sameera, >>> -- >>> Sameera Gunarathne >>> Software Engineer, WSO2 Inc. http://wso2.com >>> <http://l.facebook.com/l.php?u=http%3A%2F%2Fwso2.com&h=gAQEswASa> >>> Email: samee...@wso2.com >>> Mobile: +94714155561 >>> >> >> >> >> -- >> Vinod Kavinda >> Senior Software Engineer >> *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.* >> Mobile : +94 (0) 712 415544 >> Blog : http://soatechflicks.blogspot.com/ >> [image: http://wso2.com/signature] >> <http://wso2.com/signature> >> >> > > > -- > *Amal Gunatilake* > WSO2 Inc.; http://wso2.com > Lean . Enterprise . Middleware > > mobile: (+94) 773561195 <+94%2077%20356%201195> > blog: amalg-blogs.blogspot.com; twitter: @daag123 > linkedIn: https://www.linkedin.com/in/amalgunatilake > -- Sameera Gunarathne Software Engineer, WSO2 Inc. http://wso2.com <http://l.facebook.com/l.php?u=http%3A%2F%2Fwso2.com&h=gAQEswASa> Email: samee...@wso2.com Mobile: +94714155561
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev