Thanks Isuru, here is the final syanpse configuration with this change,

<?xml version="1.0" encoding="UTF-8"?><api xmlns="
http://ws.apache.org/ns/synapse"; name="HealthCheck_API"
context="/check_health">
    <resource methods="POST GET" url-mapping="/*">
        <inSequence>
        <builder class="org.apache.axis2.json.JSONBuilder"
formatterClass="org.apache.axis2.json.JSONMessageFormatter"/>
        <header name="To" action="remove"/>
            <property name="RESPONSE" value="true"/>
        <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
            <payloadFactory media-type="json">
                <format>{ "status": "okay" }</format>
            </payloadFactory>
        <property name="messageType" value="application/json"
scope="axis2"/>
         <send/>
        </inSequence>
    </resource>
</api>


This works with the default axis2.xml message formatter configurations
available in API Manager 1.4, so no changes are required at axis2.xml level.


On 16 December 2014 at 12:17, Isuru Udana <isu...@wso2.com> wrote:
>
> Hi Uvindra,
>
> It is not safe to change the message formatter in API manager 1.4 as it
> uses binary relay and the changes will affect globally.
>
> Instead of doing changes to axis2.xml message builder/formatters we can
> build the message using the builder mediator at the API.
>
> <builder class="org.apache.axis2.json.JSONBuilder"
> formatterClass="org.apache.axis2.json.JSONMessageFormatter"></builder>
>
> Thanks.
>
> On Tue, Dec 16, 2014 at 11:39 AM, Uvindra Dias Jayasinha <uvin...@wso2.com
> > wrote:
>
>> Okay Shafreen helped diagnose this, the axis2.xml of API Manager 1.4 the
>> default JSON message formatter enabled is this,
>>
>>
>> <messageFormatter contentType="application/json"
>>
>> class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
>>
>>
>> when the above is used the JSON formatting does not occur as expected,
>> but when this is commented and the below formatter is enabled instead,
>>
>>
>> <messageFormatter contentType="application/json"
>>
>> class="org.apache.axis2.json.JSONMessageFormatter"/>
>>
>> it works. Thanks Shafreen.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On 16 December 2014 at 11:16, Uvindra Dias Jayasinha <uvin...@wso2.com>
>> wrote:
>>>
>>> This is using API Manager 1.4 which uses synapse version 2.1.1.wso2v5
>>>
>>> On 16 December 2014 at 11:11, Uvindra Dias Jayasinha <uvin...@wso2.com>
>>> wrote:
>>>>
>>>> Hi All,
>>>>
>>>> Im trying to send a simple JSON response when an API gets invoked, but
>>>> I can only manage a SOAP envelope as the response, here is the synapse
>>>> configuration,
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?><api xmlns="
>>>> http://ws.apache.org/ns/synapse"; name="HealthCheck_API"
>>>> context="/check_health">
>>>>     <resource methods="POST GET" url-mapping="/*">
>>>>         <inSequence>
>>>>         <header name="To" action="remove"/>
>>>>             <property name="RESPONSE" value="true"/>
>>>>         <property name="NO_ENTITY_BODY" scope="axis2" action="remove"/>
>>>>             <payloadFactory media-type="json">
>>>>                 <format>{ "status": "okay" }</format>
>>>>             </payloadFactory>
>>>>         <property name="messageType" value="application/json"
>>>> scope="axis2"/>
>>>>         <property name="ContentType" value="application/json"
>>>> scope="axis2"/>
>>>>             <send/>
>>>>         </inSequence>
>>>>     </resource>
>>>> </api>
>>>>
>>>>
>>>> This what Im getting now,
>>>>
>>>> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="
>>>> http://www.w3.org/2003/05/soap-envelope
>>>> "><soapenv:Body><status>okay</status></soapenv:Body></soapenv:Envelope>
>>>>
>>>>
>>>> This is what I want,
>>>>
>>>> { "status": "okay" }
>>>>
>>>> What am I missing? Thanks
>>>>
>>>> --
>>>> Regards,
>>>> Uvindra
>>>>
>>>> Mobile: 777733962
>>>>
>>>
>>>
>>> --
>>> Regards,
>>> Uvindra
>>>
>>> Mobile: 777733962
>>>
>>
>>
>> --
>> Regards,
>> Uvindra
>>
>> Mobile: 777733962
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
> --
> *Isuru Udana*
> Senior
> *Software Engineer*
> WSO2 Inc.; http://wso2.com
> email: isu...@wso2.com cell: +94 77 3791887
> blog: http://mytecheye.blogspot.com/
> twitter: http://twitter.com/isudana
>


-- 
Regards,
Uvindra

Mobile: 777733962
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to