Hi Aditya,

You have to add the response back to body

<api xmlns="http://ws.apache.org/ns/synapse"; name="eg1" context="/eg1">
   <resource methods="POST GET" uri-template="/hi">
      <inSequence>
         <log level="full"/>
         <log level="custom">
            <property name="msg1" expression="//jsonObject"/>
         </log>
         <enrich description="">
            <source type="inline" clone="true">
               <name xmlns="">Home</name>
            </source>
            <target action="child" xpath="//jsonObject"/>
         </enrich>
         <log level="full">
            <property name="msg2" expression="//jsonObject"/>
         </log>
         <enrich>
            <source clone="true" xpath="//jsonObject"/>
            <target type="body"/>
         </enrich>
         <log level="full"/>
         <respond/>
      </inSequence>
      <outSequence/>
      <faultSequence/>
   </resource>
</api>

I have tried this API

*Request*

 {
    "id" : "1",
    "make" : "NAHB"
}

*Response*

{
   "id": 1,
   "make": "NAHB",
   "name": "Home"
}




On Tue, Jul 18, 2017 at 1:41 PM, Vijitha Ekanayake <vijit...@wso2.com>
wrote:

> Hi Aditya,
>
> I could try with the following configurations which worked for me.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <api xmlns="http://ws.apache.org/ns/synapse";
>      name="EnrichAPI"
>      context="/test">
>    <resource methods="POST PUT GET" url-mapping="/convert">
>       <inSequence>
>          <property name="name" value="Home"/>
>          <property name="customerCode"
>                    expression="fn:concat('&lt;name&gt;',$ctx:name,
> '&lt;/name&gt;')"
>                    type="OM"/>
>          <property name="ORIGINAL_PAYLOAD" expression="//jsonObject"
> type="OM"/>
>          <enrich>
>             <source clone="true" xpath="get-property('ORIGINAL_
> PAYLOAD')"/>
>             <target type="body"/>
>          </enrich>
>          <enrich>
>             <source clone="true" xpath="get-property('customerCode')"/>
>             <target action="child" xpath="//jsonObject"/>
>          </enrich>
>          <respond/>
>       </inSequence>
>       <outSequence/>
>    </resource>
> </api>
>
>
> Thanks.
>
> On Tue, Jul 18, 2017 at 12:41 PM, aditya shivankar <
> shivankar.adit...@gmail.com> wrote:
>
>> Hi,
>>
>> Forgot to mention .
>> I cannot use payload factory here because this is just an example I
>> created. and my actual data to be enriched is a huge json response from a
>> backend service.
>>
>> With Regards,
>> Aditya
>>
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: aditya shivankar <shivankar.adit...@gmail.com>
>> Date: Tue, Jul 18, 2017 at 12:35 PM
>> Subject: Enrich Json with new elements not working for me .Please guide.
>> To: dev@wso2.org
>>
>>
>> Hi,
>>
>> Enrich Json with new elements not working for me .Please guide.
>>
>> Input request :
>>
>> {
>>     "id" : "1",
>> "make" : "NAHB"
>> }
>> I the wso2 flow named eg1.xml . I am trying to enrich the incoming json
>> request with new element "name"
>>
>> processing xml: (eg1.xml)
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <api context="/eg1" name="eg1" xmlns="http://ws.apache.org/ns/synapse";>
>>     <resource methods="POST GET" uri-template="/hi">
>>         <inSequence>
>>             <log level="full"/>
>>             <log level="custom">
>>                 <property expression="//jsonObject" name="msg1"/>
>>             </log>
>>             <enrich description="">
>>                 <source clone="true" type="inline">
>>                     <name xmlns="">Home</name>
>>                 </source>
>>                 <target action="child" xpath="//jsonObject"/>
>>             </enrich>
>>             <log level="custom">
>>                 <property expression="//jsonObject" name="msg2"/>
>>             </log>
>>             <log level="full"/>
>>             <respond/>
>>         </inSequence>
>>         <outSequence/>
>>         <faultSequence/>
>>     </resource>
>> </api>
>>
>>
>> current output :
>> {
>>     "id" : "1",
>> "make" : "NAHB"
>> }
>>
>> Desired output :
>>
>> {
>>     "id" : "1",
>> "make" : "NAHB"
>> "name" : "Home"
>> }
>>
>> logger output :
>>
>> Logger1 output(log level full) :
>> LogMediator To: /eg1/hi, MessageID: 
>> urn:uuid:2f627daf-ac9c-4492-84ea-2736670724e8,
>> Direction: request, Payload:
>> {
>> "id": "1",
>> "make": "NAHB"
>> }
>>
>> Logger2 output :
>> LogMediator msg1 =
>> <jsonObject>
>> <id>1</id>
>> <make>NAHB</make>
>> </jsonObject>
>>
>> Logger3 output :
>> LogMediator msg2 =
>> <jsonObject>
>> <id>1</id>
>> <make>NAHB</make>
>> <name>Home</name>
>> </jsonObject>
>>
>> Logger4 output(log level full) :
>> LogMediator To: /eg1/hi, MessageID: 
>> urn:uuid:2f627daf-ac9c-4492-84ea-2736670724e8,
>> Direction: request, Payload:
>> {
>> "id": "1",
>> "make": "NAHB"
>> }
>>
>> Postman output :
>> {
>> "id": "1",
>> "make": "NAHB"
>> }
>>
>> Regards,
>> Aditya
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Vijitha Ekanayake
> Software Engineer*, *WSO2, Inc.; http://wso2.com/
> Mobile : +94 777 24 73 39 | +94 718 74 44 08
> lean.enterprise.middleware
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Thank you
Best Regards

*Rajjaz HM*
Software Engineer
Platform Extension Team
WSO2 Inc. <http://wso2.com/>
lean | enterprise | middleware
Mobile | +94752833834|+94777226874
Email   | raj...@wso2.com
LinkedIn <https://lk.linkedin.com/in/hmohammedrajjaz> | Blogger
<http://rajjazhm.blogspot.com/> | WSO2 Profile
<http://wso2.com/about/team/mohammer-rajjaz/>
[image: https://wso2.com/signature] <https://wso2.com/signature>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to