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>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to