Hi Piriya Above approach, you can implement in the POST and PUT. The resource type GET produces a request that does not have a body (payload), hence we set the required parameter as a query parameter when you set the resource GET while creating the API in publisher. (please refer to the attached image ) Then the request parameter is accessed within the payload mediator of the proxy service ( within the <args> element) in ESB as the following example.
<payloadFactory media-type="xml"> <format> <soapenv:Envelope xmlns:ser="http://service.sample.oasis.com" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" http://dto.service.sample.oasis.com/xsd"> <soapenv:Header>1</soapenv:Header> <soapenv:Body> <ser:deleteOrderData> <!--Optional:--> <ser:orderNumber>$1</ser:orderNumber> </ser:deleteOrderData> </soapenv:Body> </soapenv:Envelope> </format> <args> <arg evaluator="xml" expression="$url:order_id" xmlns:ns=" http://org.apache.synapse/xsd"/> </args> </payloadFactory> please refer to the following link for better understanding of the REST Parameters https://www.soapui.org/rest-testing/understanding-rest-parameters.html many thanks On Wed, Nov 15, 2017 at 5:19 PM, Piriya Sivalingam <pir...@wso2.com> wrote: > Hi Dushantha, > > Since I have GET, POST,PUT, DELETE methods in my proxy, do you say the > above-suggested method will work for GET. I have tried it but could not > achieve it. > And if I am correct, your example is about POST or PUT method. > Could you please let me know whether I can use the same way for all four > methods or only specific to POST method. > > Thank you. > > > On Wed, Nov 15, 2017 at 3:10 PM, Dushantha Batuwita <dushan...@wso2.com> > wrote: > >> please refer to the above answers >> >> Regards >> >> On Wed, Nov 15, 2017 at 2:35 PM, Dushantha Batuwita <dushan...@wso2.com> >> wrote: >> >>> Hi Buddhimala >>> Accessing the JSON payload parameters and retrieving those within the >>> proxy service can be achieved with the <args> element of the Payload >>> factory mediator according to your scenario. >>> Setting already retrieved parameters to the predefined soap structure is >>> accomplished within the <format> element. >>> >>> suppose that we need to access the following JSON structure >>> >>> { >>> "orderLine": { >>> >>> "ordername": "Cooking Item", >>> "orderid": "123456", >>> "product": { >>> >>> "productname": "coconutoil", >>> "productgrade": "drade1", >>> "productcolour": "white" >>> >>> } >>> } >>> } >>> >>> >>> and retrieve the values in order to set to the soap structure given >>> bellow within the payload factory is as follows refer to document[1] for >>> further details >>> <payloadFactory media-type="xml"> >>> <format> >>> <soapenv:Envelope >>> xmlns:ser="http://service.sample.oasis.com" >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=" >>> http://dto.service.sample.oasis.com/xsd"> >>> <soapenv:Header/> >>> <soapenv:Body> >>> <ser:addOrderLineRecord> >>> <ser:orderLine> >>> <xsd:product> >>> <xsd:productname>$1</xsd:ordername> >>> <xsd:productgrade>$2</xsd:orderid> >>> <xsd:productcolour>$3</xsd:pro >>> ductcolour> >>> </xsd:product> >>> <xsd:ordername>$4</xsd:ordername> >>> <xsd:orderid>$5</xsd:orderid> >>> >>> </ser:orderLine> >>> </ser:addOrderLineRecord> >>> </soapenv:Body> >>> </soapenv:Envelope> >>> </format> >>> <args> >>> <arg *evaluator="json"* >>> *expression="$.orderLine.product.productname"*/> >>> <arg evaluator="json" expression="$.orderLine.produc >>> t.productgrade"/> >>> <arg evaluator="json" expression="$.orderLine.produc >>> t.productcolour"/> >>> <arg evaluator="json" expression="$.orderLine.ordername"/> >>> <arg evaluator="json" expression="$.orderLine.orderid"/> >>> </args> >>> </payloadFactory> >>> >>> NOTE: when you set the $n parameter to be couches to follow the order in >>> which the args are defined. i.e. the first line of the arg refer to $1.. >>> and etc >>> >>> Regards >>> >>> On Wed, Nov 15, 2017 at 2:32 PM, Buddhimala Ranasinghe < >>> buddhim...@wso2.com> wrote: >>> >>>> Hi All, >>>> >>>> I need to pass a json payload from an API to ESB proxy service. In ESB, >>>> I'm using parameters in the passed JSON payload inside payloadFactory >>>> mediator in my ESB which will be sent towards a secured SOAP BE. Can you >>>> please guide me on this? I need to know how could those parameters can be >>>> addressed inside my proxy service. >>>> >>>> Regards, >>>> Buddhimala >>>> >>>> -- >>>> >>>> >>>> *Buddhimala Ranasinghe* >>>> Software Engineer-Support Team | WSO2 >>>> Emil: buddhim...@wso2.com >>>> Mobile:+94771563138 <+94%2077%20156%203138> >>>> Web:http://wso2.com >>>> [image: https://wso2.com/signature] <https://wso2.com/signature> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Dushantha Nayanajith Chandima Batuwita* >>> Software Engineer Support | WSO2 >>> dushan...@wso2.com >>> mobile : 0094777453010 >>> >> >> >> >> -- >> *Dushantha Nayanajith Chandima Batuwita* >> Software Engineer Support | WSO2 >> dushan...@wso2.com >> mobile : 0094777453010 >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > Regards, > > *Piriya Sivalingam* > > *Software Engineer - Support Team* > > *WSO2* > *Mobile : +94 77 8462039 <+94%2077%20846%202039>* > > [image: http://wso2.com/signature] <http://wso2.com/signature> > > -- *Dushantha Nayanajith Chandima Batuwita* Software Engineer Support | WSO2 dushan...@wso2.com mobile : 0094777453010
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev