Hi

Thanks . That Works..
Thanks to all (  Himasha Guruge, Sudharma Subasinghe, Manorama
Perera,Vinod Kavinda...  ) who worked on the issue.

With Regards,
Aditya




On 10/30/17, Himasha Guruge <[email protected]> wrote:
> Hi Aditya,
>
> The list parameters available for different transformations are available
> in [1]. For your current requirement, could you try adding below property
> in EI/conf/synapse.properties and restart the server?
>
> *synapse.commons.json.output.xmloutMultiplePI=true*
>
> I have tried it out with the proxy you have provided and it returns the
> expected output.
>
> {
>     "id": 3,
>     "parts": [
>         "Screen"
>     ],
>     "test": [],
>     "numberTest": 40,
>     "make": "Tamsung"
> }
>
> [1]
> https://docs.wso2.com/display/EI611/JSON+Support#JSONSupport-XMLtoJSONtransformationparameters
>
> Thanks,
> Himasha
>
> On Sun, Oct 29, 2017 at 9:42 PM, aditya shivankar <
> [email protected]> wrote:
>
>> Hi Sudharma,
>>
>> I tried adding below line in synapse.properties file present
>> at C:\wso2ei-6.1.1-update7\conf this location and restarted the server.
>>
>> synapse.json.to.xml.processing.instruction.enable=true.
>>
>> Still it did not work.
>>
>> Do let me know , if I did anything wrong.
>>
>> With Regards,
>> Aditya
>>
>> On Sun, Oct 29, 2017 at 8:58 PM, aditya shivankar <
>> [email protected]> wrote:
>>
>>> Hi Sudharma,
>>>
>>> Thanks for you reply.
>>> As per previous mail suggestion, I downloaded wso2ei-6.1.1-update7, and
>>> ran the same application on it.
>>> But I did not get the expected result.
>>>
>>> Request I fired through postman.
>>>
>>> {
>>> "id" : "3",
>>> "parts" : ["Screen"],
>>> "test" : [],
>>> "numberTest" : 40
>>> }
>>>
>>>
>>> Response received :
>>>
>>> {
>>>     "id": 3,
>>>     "parts": "Screen",
>>>     "numberTest": 40,
>>>     "make": "Tamsung"
>>> }
>>>
>>> Please Guide. Array is still absent in response.
>>>
>>>
>>> With Regards,
>>> Aditya
>>>
>>>
>>>
>>>
>>> On Sun, Oct 29, 2017 at 3:55 PM, Sudharma Subasinghe
>>> <[email protected]>
>>> wrote:
>>>
>>>> These fixes are available with the latest release Enterprise Integrator
>>>> 6.1.1-update7. which is available for download from here
>>>> <https://github.com/wso2/product-ei/releases/tag/v6.1.1-update7>.
>>>>
>>>> Thanks
>>>> Sudharma
>>>>
>>>> On Sun, Oct 29, 2017 at 12:58 PM, aditya shivankar <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Sudharma,
>>>>>
>>>>> Thanks for the reply.
>>>>> Request you to please provide a link to download the version of wso2
>>>>> esb(WSO2
>>>>> EI) , in which these defects are fixed. So that I do not end up , in
>>>>> downloading wrong versions.
>>>>> Thanks
>>>>>
>>>>> With Regards,
>>>>> Aditya
>>>>>
>>>>> On Fri, Oct 27, 2017 at 4:49 PM, Sudharma Subasinghe <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Aditya,
>>>>>>
>>>>>> This has been fixed with[1] and you can try with latest WSO2
>>>>>> Enterprise Integrator(WSO2 EI), integrator profile. There you can
>>>>>> avoid
>>>>>> above both issues by enabling
>>>>>> *synapse.json.to.xml.processing.instruction.enable
>>>>>> *in synapse.properties file.
>>>>>>
>>>>>> Please refer[2] for more info about using EI.
>>>>>>
>>>>>> [1] https://wso2.org/jira/browse/ESBJAVA-4721
>>>>>> [2] https://docs.wso2.com/display/EI611/
>>>>>>
>>>>>> Thanks
>>>>>> Sudharma
>>>>>>
>>>>>> On Thu, Oct 26, 2017 at 3:00 PM, aditya shivankar <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Few more similar things, I found regarding this same flow .
>>>>>>> If the request consists of an empty. It gets disappeared in response
>>>>>>> completely.
>>>>>>> For E.g.
>>>>>>>
>>>>>>> Request :
>>>>>>>        {
>>>>>>> "id" : "3",
>>>>>>> "parts" : ["Screen"],
>>>>>>> "test" : [],
>>>>>>> "numberTest" : 40
>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> Actual Response :
>>>>>>>     {
>>>>>>>     "id": "3",
>>>>>>>     "parts": "Screen",
>>>>>>>     "numberTest": "40",
>>>>>>>     "make": "Tamsung"
>>>>>>>    }
>>>>>>>
>>>>>>> Desired Response :
>>>>>>>     {
>>>>>>>        "id": "3",
>>>>>>>        "parts": ["Screen"],
>>>>>>>        "test" : [],
>>>>>>>        "numberTest": "40",
>>>>>>>        "make": "Tamsung"
>>>>>>>     }
>>>>>>>
>>>>>>>
>>>>>>> Issue :
>>>>>>>
>>>>>>>   In the actual response , the empty array named "test" is missing.
>>>>>>>
>>>>>>>   So overall there are two issues scenarios.
>>>>>>> 1. When there is a array in request , with a single(one) element in
>>>>>>> it .
>>>>>>> 2. When there is an empty array in request.
>>>>>>>
>>>>>>>
>>>>>>> With Regards,
>>>>>>> Aditya
>>>>>>> ------------------------------------------------------------
>>>>>>> ------------------------------------------------------------
>>>>>>> ---------------------------------------------------
>>>>>>>
>>>>>>> On Wed, Oct 25, 2017 at 5:37 PM, aditya shivankar <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Let me reformat(summarize) the remaining issue now, as one issue is
>>>>>>>> resolved.
>>>>>>>> The issue which still needs to be addressed is.
>>>>>>>>
>>>>>>>>
>>>>>>>> Below is the sample service I have created to Highlight the issue I
>>>>>>>> am facing in my project(In actual project service, the request and
>>>>>>>> response
>>>>>>>> are very big, dynamic and this issue is repeating at many places).
>>>>>>>>
>>>>>>>> Request : { "id" : "3", "parts" : ["Screen"] }
>>>>>>>>
>>>>>>>> Actual Response : { "id": "3", "parts": "Screen", "make": "Tamsung"
>>>>>>>> }
>>>>>>>>
>>>>>>>> Desired Response :
>>>>>>>>
>>>>>>>> { "id": "3", "parts": ["Screen"], "make": "Tamsung" }
>>>>>>>> ------------------------------
>>>>>>>>
>>>>>>>> Issue :
>>>>>>>>
>>>>>>>>    1.
>>>>>>>>
>>>>>>>>    "parts": "Screen",
>>>>>>>>
>>>>>>>>    should have been like below
>>>>>>>>
>>>>>>>>    "parts": ["Screen"],
>>>>>>>>
>>>>>>>>    i.e. it does not remain array anymore. I understand the array
>>>>>>>>    consist only one element. But the third party system to which the
>>>>>>>> output of
>>>>>>>>    this service is sent as input(request) expects the element as
>>>>>>>> array. So I
>>>>>>>>    need it to be as array.
>>>>>>>>
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------
>>>>>>>>
>>>>>>>> I think , I cannot recreate the message using payloadFactory
>>>>>>>> because,
>>>>>>>>    " the message(payload) I am modifying with enrich mediator is a
>>>>>>>> "huge and dynamic response from Third party service". This response
>>>>>>>> I need
>>>>>>>> to modify/enrich at many places in my service and send it to another
>>>>>>>> third
>>>>>>>> party service as input.
>>>>>>>>
>>>>>>>>    With "Dynamic" :  I mean, some things in the message(payload)
>>>>>>>> are
>>>>>>>> different(change) everytime service receives the request, depending
>>>>>>>> on some
>>>>>>>> factors in the request received by the third party service whose
>>>>>>>> output is
>>>>>>>> input message to this service.
>>>>>>>>
>>>>>>>>    so I think I cannot recreate message using payloadFactory like
>>>>>>>> this
>>>>>>>>
>>>>>>>>    <payloadFactory media-type="json">
>>>>>>>>          <format>{"id" : $1, "parts" : $2, "make" :
>>>>>>>> "Tamsung"}</format>
>>>>>>>>           <args>
>>>>>>>>                      <arg evaluator="json" expression="$.id"></arg>
>>>>>>>>                      <arg evaluator="json"
>>>>>>>> expression="$.parts"></arg>
>>>>>>>>           </args>
>>>>>>>> </payloadFactory>
>>>>>>>>
>>>>>>>>    as it will be dynamic response from a third party service.
>>>>>>>> So we cannot recreate the message in payloadFactory it being not
>>>>>>>> static.
>>>>>>>>
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------
>>>>>>>>
>>>>>>>> arrayTest.xml :
>>>>>>>>
>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>> <api context="/arrayTest" name="arrayTest" xmlns="
>>>>>>>> http://ws.apache.org/ns/synapse";>
>>>>>>>>     <resource methods="POST GET">
>>>>>>>>         <inSequence>
>>>>>>>>
>>>>>>>>             <enrich>
>>>>>>>>                 <source clone="true" type="inline">
>>>>>>>>                     <make xmlns="">Tamsung</make>
>>>>>>>>                 </source>
>>>>>>>>                 <target action="child" xpath="//jsonObject"/>
>>>>>>>>             </enrich>
>>>>>>>>             <enrich>
>>>>>>>>                 <source clone="true" xpath="//jsonObject"/>
>>>>>>>>                 <target type="body"/>
>>>>>>>>             </enrich>
>>>>>>>>
>>>>>>>>             <respond/>
>>>>>>>>         </inSequence>
>>>>>>>>         <outSequence/>
>>>>>>>>         <faultSequence/>
>>>>>>>>     </resource>
>>>>>>>> </api>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>
>>>>>>>> Please guide...
>>>>>>>>
>>>>>>>> With Regards,
>>>>>>>> Aditya
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sudharma Subasinghe,
>>>>>> Software Engineer,
>>>>>> WSO2 Inc.
>>>>>> Email: [email protected] <[email protected]>
>>>>>> Mobile : +94 710 565 157 <%2B94%20718%20210%20200>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Sudharma Subasinghe,
>>>> Software Engineer,
>>>> WSO2 Inc.
>>>> Email: [email protected] <[email protected]>
>>>> Mobile : +94 710 565 157 <%2B94%20718%20210%20200>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Himasha Guruge
> Senior Software Engineer
> WS*O2* *Inc.*
> Mobile: +94 777459299
> [email protected]
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to