Hi Udara,
Since you have to create the XML using the XSLT and the XSLT have to return
an processing instruction, you have to have the following XSLT:
<xsl:when test="count(addresses)=0">
<jsonObject>
<xsl:processing-instruction
name="xml-multiple">addresses</xsl:processing-instruction>
</jsonObject>
</xsl:when>
Regards
Senduran
On Wed, Oct 5, 2016 at 12:18 PM, Udara Liyanage <[email protected]> wrote:
> Hi Senduran,
>
> I need to create json array within synapse configs coz backend expects an
> array
>
> On Wed, Oct 5, 2016 at 8:11 AM, Senduran Balasubramaniyam <
> [email protected]> wrote:
>
>> Hi Udara,
>>
>> I tried the following API and the request, (I am using ESB 500)
>> API:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <api xmlns="http://ws.apache.org/ns/synapse"
>> name="XMLtoJSON"
>> context="/XMLtoJSON">
>> <resource methods="POST">
>> <inSequence>
>> <property name="messageType" value="application/json"
>> scope="axis2"/>
>> <respond/>
>> </inSequence>
>> </resource>
>> </api>
>>
>>
>> Request:
>>
>> curl -v -d '<jsonObject><?xml-multiple addresses?></jsonObject>'
>> http://localhost:8280/XMLtoJSON -H "Content-type: application/xml"
>>
>> Regards
>> Senduran
>>
>>
>> On Tue, Oct 4, 2016 at 6:36 PM, Udara Liyanage <[email protected]> wrote:
>>
>>> Hi Senduran,
>>>
>>> Below is xslt snippet I tried.
>>>
>>> <xsl:choose>
>>> <xsl:when test="count(addresses)=0">
>>> <jsonObject>
>>> <?xml-multiple addresses?>
>>> </jsonObject>
>>> </xsl:when>
>>>
>>> On Tue, Oct 4, 2016 at 6:26 PM, Udara Liyanage <[email protected]> wrote:
>>>
>>>> Hi Senduran,
>>>>
>>>> That I tried already. But it produced
>>>>
>>>> {"root":null}
>>>>
>>>> On Tue, Oct 4, 2016 at 5:37 PM, Senduran Balasubramaniyam <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Udara,
>>>>>
>>>>> You can get an empty addresses array by following:
>>>>>
>>>>> <jsonObject>
>>>>> <?xml-multiple addresses?>
>>>>> </jsonObject>
>>>>>
>>>>> Regards
>>>>> Senduran
>>>>>
>>>>> On Tue, Oct 4, 2016 at 12:09 PM, Udara Liyanage <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I want to generate an empty json array ("addresses":[]) when
>>>>>> addresses count is zero. I tried below as [1] which resulted only in
>>>>>> null.
>>>>>>
>>>>>>
>>>>>> <xsl:if test="count(addresses)=0">
>>>>>> <jsonObject>
>>>>>> <jsonArray></jsonArray>
>>>>>> </jsonObject>
>>>>>> </xsl:if>
>>>>>>
>>>>>>
>>>>>> [1] https://docs.wso2.com/display/ESB500/JSON+Support
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Udara Liyanage
>>>>>> Software Engineer
>>>>>> WSO2, Inc.: http://wso2.com
>>>>>> lean. enterprise. middleware
>>>>>>
>>>>>> Blog: http://udaraliyanage.wordpress.com
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Senduran *
>>>>> Senior Software Engineer,
>>>>> WSO2, Inc.; http://wso2.com/ <http://wso2.com/>
>>>>> Mobile: +94 77 952 6548
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Udara Liyanage
>>>> Software Engineer
>>>> WSO2, Inc.: http://wso2.com
>>>> lean. enterprise. middleware
>>>>
>>>> Blog: http://udaraliyanage.wordpress.com
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Udara Liyanage
>>> Software Engineer
>>> WSO2, Inc.: http://wso2.com
>>> lean. enterprise. middleware
>>>
>>> Blog: http://udaraliyanage.wordpress.com
>>>
>>
>>
>>
>> --
>> *Senduran *
>> Senior Software Engineer,
>> WSO2, Inc.; http://wso2.com/ <http://wso2.com/>
>> Mobile: +94 77 952 6548
>>
>
>
>
> --
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> Blog: http://udaraliyanage.wordpress.com
>
--
*Senduran *
Senior Software Engineer,
WSO2, Inc.; http://wso2.com/ <http://wso2.com/>
Mobile: +94 77 952 6548
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev