Hi Buddhimala, Could you please elaborate your use case where you want to implement caching? Since you have the API with CRUD operations, IMO it is not meaningful to cache the responses for PUT and POST. So if you want to cache 200 OK response of GET, you can implement it through a custom sequence using cache mediator in APIM. Please refer [1] for more information.
[1] https://stackoverflow.com/questions/626057/is-it-possible-to-cache-post-methods-in-http Thanks, Piriya On Fri, Nov 24, 2017 at 4:58 PM, Thivya Mahenthirarasa <[email protected]> wrote: > Hi all, > > Does the caching is needed for the Creation scenarios too?. Is it a good > practice to have to cache for 200 ok responses? > > > Thanks, > Thivya > > > On Fri, Nov 24, 2017 at 4:23 PM, Krishan Wijesena <[email protected]> > wrote: > >> Hi buddhimala, >> >> Can you check your payload of put method again, refer [1] >> >> [1] https://docs.wso2.com/display/AM210/Configuring+Caching# >> ConfiguringCaching-Responsecache >> >> Thanks, >> krishan. >> >> On Fri, Nov 24, 2017 at 2:18 PM, Buddhimala Ranasinghe < >> [email protected]> wrote: >> >>> Hi All, >>> >>> I'm trying a scenario where I need to have caching enabled to improve >>> perfomance at API level.So I enabled response caching from my API. The API >>> contains resources to perform CRUD operations. >>> >>> My problem is, when I try to invoke PUT method in my API after enabling >>> response caching, it gives me the following error. >>> >>> [2017-11-24 14:16:39,969] ERROR - JsonUtil #writeAsJson. Payload could >>> not be written as JSON. MessageID: urn:uuid:ccc5fb5c-ec7b-4e51-87 >>> 9f-345cd8a54804 >>> [2017-11-24 14:16:39,972] ERROR - PassThroughHttpSSLSender Failed to >>> submit the response >>> org.apache.axis2.AxisFault: Payload could not be written as JSON. >>> at org.apache.synapse.commons.json.JsonUtil.writeAsJson(JsonUti >>> l.java:276) >>> at org.apache.synapse.commons.json.JsonFormatter.writeTo(JsonFo >>> rmatter.java:62) >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> submitResponse(PassThroughHttpSender.java:573) >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> invoke(PassThroughHttpSender.java:264) >>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) >>> at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Send >>> er.java:230) >>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(A >>> xis2SynapseEnvironment.java:531) >>> at org.apache.synapse.mediators.builtin.SendMediator.mediate(Se >>> ndMediator.java:118) >>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>> stractListMediator.java:97) >>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>> stractListMediator.java:59) >>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S >>> equenceMediator.java:158) >>> at org.apache.synapse.rest.Resource.process(Resource.java:343) >>> at org.apache.synapse.rest.API.process(API.java:338) >>> at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RES >>> TRequestHandler.java:90) >>> at org.apache.synapse.rest.RESTRequestHandler.process(RESTReque >>> stHandler.java:56) >>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.inject >>> Message(Axis2SynapseEnvironment.java:304) >>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handle >>> Message(SynapseCallbackReceiver.java:554) >>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receiv >>> e(SynapseCallbackReceiver.java:188) >>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>> at org.apache.synapse.transport.passthru.ClientWorker.run(Clien >>> tWorker.java:262) >>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.r >>> un(NativeWorkerPool.java:172) >>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>> Executor.java:1142) >>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>> lExecutor.java:617) >>> at java.lang.Thread.run(Thread.java:748) >>> [2017-11-24 14:16:39,972] ERROR - Axis2Sender >>> Access-Control-Allow-Headers:authorization,Access-Control-Al >>> low-Origin,Content-Type,SOAPAction,Access-Control-Allow-Meth >>> ods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; >>> charset=UTF-8,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope >>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><s >>> oapenv:Body/></soapenv:Envelope> Unexpected error sending message back >>> org.apache.axis2.AxisFault: Failed to submit the response >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> handleException(PassThroughHttpSender.java:632) >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> invoke(PassThroughHttpSender.java:266) >>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) >>> at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Send >>> er.java:230) >>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(A >>> xis2SynapseEnvironment.java:531) >>> at org.apache.synapse.mediators.builtin.SendMediator.mediate(Se >>> ndMediator.java:118) >>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>> stractListMediator.java:97) >>> at org.apache.synapse.mediators.AbstractListMediator.mediate(Ab >>> stractListMediator.java:59) >>> at org.apache.synapse.mediators.base.SequenceMediator.mediate(S >>> equenceMediator.java:158) >>> at org.apache.synapse.rest.Resource.process(Resource.java:343) >>> at org.apache.synapse.rest.API.process(API.java:338) >>> at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RES >>> TRequestHandler.java:90) >>> at org.apache.synapse.rest.RESTRequestHandler.process(RESTReque >>> stHandler.java:56) >>> at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.inject >>> Message(Axis2SynapseEnvironment.java:304) >>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handle >>> Message(SynapseCallbackReceiver.java:554) >>> at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receiv >>> e(SynapseCallbackReceiver.java:188) >>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>> at org.apache.synapse.transport.passthru.ClientWorker.run(Clien >>> tWorker.java:262) >>> at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.r >>> un(NativeWorkerPool.java:172) >>> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >>> Executor.java:1142) >>> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >>> lExecutor.java:617) >>> at java.lang.Thread.run(Thread.java:748) >>> Caused by: org.apache.axis2.AxisFault: Payload could not be written as >>> JSON. >>> at org.apache.synapse.commons.json.JsonUtil.writeAsJson(JsonUti >>> l.java:276) >>> at org.apache.synapse.commons.json.JsonFormatter.writeTo(JsonFo >>> rmatter.java:62) >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> submitResponse(PassThroughHttpSender.java:573) >>> at org.apache.synapse.transport.passthru.PassThroughHttpSender. >>> invoke(PassThroughHttpSender.java:264) >>> >>> Can you please help me to solve this problem? >>> >>> Thanks >>> >>> -- >>> >>> >>> *Buddhimala Ranasinghe* >>> Software Engineer-Support Team | WSO2 >>> Emil: [email protected] >>> Mobile:+94771563138 <+94%2077%20156%203138> >>> Web:http://wso2.com >>> [image: https://wso2.com/signature] <https://wso2.com/signature> >>> >>> _______________________________________________ >>> Dev mailing list >>> [email protected] >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> >> *Krishan Wijesena* >> Software Engineer | WSO2 >> >> Email : [email protected] >> Mobile : +94776219923 <+94%2077%20621%209923> >> WSO2 Inc : http://wso2.com >> [image: http://wso2.com/signature] <http://wso2.com/signature> >> >> _______________________________________________ >> Dev mailing list >> [email protected] >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > > > -- > > *Thivya Mahenthirarasa* > > *Software Engineer -Support Team | WSO2* > > > *Email: [email protected] <[email protected]>* > > *Mobile: +94766461966 <+94%2076%20646%201966> <http://wso2.com/signature>* > *Web: http://wso2.com <http://wso2.com>* > > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Regards, *Piriya Sivalingam* *Software Engineer - Support Team* *WSO2* *Mobile : +94 77 8462039* [image: http://wso2.com/signature] <http://wso2.com/signature>
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
