Had a chat with Dinesh on the implementation that was done for Iterate
Mediator for native json support. They are using jackson for keeping
reference of the json payload. This has not been committed yet since
approval for libraries are still pending.

This solution will resolve the above problems of :

   - Finding the parent element
   - Updating the original payload reference during iterative mediation


@Kasun please advice how to proceed.


Thanks,

Maheeka Jayasuriya
Software Engineer
Mobile : +94777750661

On Mon, Dec 15, 2014 at 10:13 AM, Maheeka Jayasuriya <[email protected]>
wrote:
>
> As I verified with [1], native json support is not available for Iterate
> mediator. Am I missing something here? I referred to json implementation
> for PayloadFactory mediator, but that is not helpful in this context.
>
> [1]
> https://docs.wso2.com/display/ESB481/JSON+Support#JSONSupport-ConstructingandtransformingJSONpayloads
>
>
> Thanks,
>
> Maheeka Jayasuriya
> Software Engineer
> Mobile : +94777750661
>
> On Mon, Dec 15, 2014 at 10:04 AM, Kasun Indrasiri <[email protected]> wrote:
>>
>> AFAIR, we did this during native json support for iterate mediator.
>>
>> On Mon, Dec 15, 2014 at 9:44 AM, Maheeka Jayasuriya <[email protected]>
>> wrote:
>>>
>>> Looping Dev & Ishan
>>>
>>> Thanks,
>>>
>>> Maheeka Jayasuriya
>>> Software Engineer
>>> Mobile : +94777750661
>>>
>>> ---------- Forwarded message ----------
>>> From: Maheeka Jayasuriya <[email protected]>
>>> Date: Mon, Dec 15, 2014 at 6:26 AM
>>> Subject: [Fast Track Training Project] For-Each with Json Expression
>>> To: Isuru Ranawaka <[email protected]>, Kasun Indrasiri <[email protected]>
>>> Cc: Jaminda Batuwangala <[email protected]>
>>>
>>> Hi all,
>>>
>>> I am having a few problems in the above integration (jsonpath) in terms
>>> of the following.
>>>
>>>    1. Getting the parent element for merging
>>>    2. Removing iterating elements from original envelope
>>>    3. Merging back the iterated messages
>>>
>>> In xpath, respectively the above problems are solved as below:
>>>
>>>    1. By taking the parent xpath with last occurence of "/" in the
>>>    xpath.
>>>    2. EIPUtils.getDetachedMatchingElements(SOAPEnvelope,
>>>    MessageContext, SynapseXPath)
>>>    3. EIPUtils.includeEnvelope(SOAPEnvelope, SOAPEnvelope,
>>>    MessageContext, SynapseXPath)
>>>    4. 2 and 3 provides references for the OMElement object as per
>>>    EIPUtils.getMatchingElements(SOAPEnvelope, MessageContext, SynapseXPath)
>>>    method and therefore can be directly modified.
>>>
>>> In jsonpath,
>>>
>>> com.jayway.jsonpath.JsonPath.read(String, String, Filter...) method is
>>> used to extract the json elements which are actually returned as String.
>>> Therefore, there is difficulty maintaining the references.
>>>
>>> The only solution I can think of for the moment is converting jsonpath
>>> to xpath, and processing in the payload similar to as done on xpath (I need
>>> to verify that this is possible first) as xml.
>>>
>>> Is there another way to extract elements, while maintaining references
>>> in json level?
>>>
>>> Please let me know your thoughts. How should I handle this?
>>>
>>> Thanks,
>>>
>>> Maheeka Jayasuriya
>>> Software Engineer
>>> Mobile : +94777750661
>>>
>>
>>
>> --
>> Kasun Indrasiri
>> Software Architect
>> WSO2, Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> cell: +94 77 556 5206
>> Blog : http://kasunpanorama.blogspot.com/
>>
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to