Previously there were a few issues with using JsonStreamBuilder and JsonStreamFormatter in APIM, hence by default APIM used JsonBuilder and JsonFormatter (up to the release 2.1.0). I think we can move to JsonStreamBuilder and JsonStreamFormatter in the 2.2.0 release.
On Tue, Jan 9, 2018 at 8:59 PM, Sameera Gunarathne <[email protected]> wrote: > Hi Milinda, > > I have tried the suggestion and that way I can access the message payload. > I can see in the axis2.xml in apim 2.2.0 this configuration is commented > and uses JsonBuilder instead. > > <!--JSON Message Builders--> > <messageBuilder contentType="application/json" > class="org.apache.synapse. > commons.json.JsonBuilder"/> > <!--messageBuilder contentType="application/json" > class="org.apache.synapse.commons.json. > JsonStreamBuilder"/--> > > Is there any specific reason to use JsonBuilder and what would be the > impact of using JsonStreamBuilder? > > Thanks and Regards, > > On Tue, Jan 9, 2018 at 8:49 PM, Milinda Perera <[email protected]> wrote: > >> Hi Sameera, >> >> Please add JsonStreamBuilder instead of JsonBuilder and try >> >> <messageBuilder contentType="application/json" >> class="org.wso2.carbon.integra >> tor.core.json.JsonStreamBuilder"/> >> >> Thanks, >> Milinda >> >> On Tue, Jan 9, 2018 at 8:44 PM, Sameera Gunarathne <[email protected]> >> wrote: >> >>> Hi, >>> >>> I'm using a script mediator to get JSON payload inside an API sequence. >>> I'm using a payload as follows. >>> >>> curl -X POST --header 'Content-Type: application/json' --header 'Accept: >>> application/xml' --header 'Authorization: Bearer >>> c4f97c6e-60fc-3c26-97ad-48b9c9fa4566' -d '{ \ >>> "PhoneNumbers": ["123456789"] \ >>> }' 'https://10.100.7.133:8243/phoneVerify/1.0.0/checkPhoneNumbers >>> >>> I'm accessing the payload inside the script mediator as follows. >>> >>> <script language="js"> >>> var payload = mc.getPayloadJSON(); >>> </script> >>> >>> There I get following exception at the script mediator on the >>> json payload being null. >>> >>> [2018-01-09 20:37:55,454] ERROR - ScriptMessageContext JSON object is >>> null. >>> [2018-01-09 20:37:55,458] ERROR - ScriptMediator The script engine >>> returned an error executing the inlined js script function mediate >>> >>> but I have looked into the wirelogs and the json message comes to the >>> sequence. >>> >>> [2018-01-09 20:37:55,445] DEBUG - wire HTTPS-Listener I/O dispatcher-6 >>> >> "Accept-Language: en-US,en;q=0.9,nl;q=0.8[\r][\n]" >>> [2018-01-09 20:37:55,445] DEBUG - wire HTTPS-Listener I/O dispatcher-6 >>> >> "[\r][\n]" >>> [2018-01-09 20:37:55,445] DEBUG - wire HTTPS-Listener I/O dispatcher-6 >>> >> "{[\n]" >>> [2018-01-09 20:37:55,445] DEBUG - wire HTTPS-Listener I/O dispatcher-6 >>> >> " *"PhoneNumbers": ["123456789"][\n]"* >>> [2018-01-09 20:37:55,445] DEBUG - wire HTTPS-Listener I/O dispatcher-6 >>> >> "}" >>> >>> What could be the reason for this? Any other suggestions to access >>> message context inside a script mediator. >>> >>> Thanks and Regards, >>> Sameera. >>> -- >>> Sameera Gunarathne >>> Software Engineer, WSO2 Inc. http://wso2.com >>> <http://l.facebook.com/l.php?u=http%3A%2F%2Fwso2.com&h=gAQEswASa> >>> Email: [email protected] >>> Mobile: +94714155561 >>> >> >> >> >> -- >> Milinda Perera >> Senior Software Engineer; >> WSO2 Inc. http://wso2.com , >> Mobile: (+94) 714 115 032 <+94%2071%20411%205032> >> >> > > > -- > Sameera Gunarathne > Software Engineer, WSO2 Inc. http://wso2.com > <http://l.facebook.com/l.php?u=http%3A%2F%2Fwso2.com&h=gAQEswASa> > Email: [email protected] > Mobile: +94714155561 > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Thanks and Regards, Isuru H. +94 716 358 048* <http://wso2.com/>*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
