Re: [Dev] Error occurs with Response caching enabled.
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 Mahenthirarasawrote: > 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 > 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 < >> buddhim...@wso2.com> 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,>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/;>>> oapenv:Body/> 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
Re: [Dev] Error occurs with Response caching enabled.
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 Wijesenawrote: > 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 < > buddhim...@wso2.com> 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. >> run(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- >> Methods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; >> charset=UTF-8,> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/;>> oapenv:Body/> 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 >>
Re: [Dev] Error occurs with Response caching enabled.
Hi Buddhimala, By looking at the error log it seem like the JSON conversion is not working properly. Have you enabled the JSONStreamBuilder in axis2.xml? Thanks & Regards, Mushthaq On Fri, Nov 24, 2017 at 4:23 PM, Krishan Wijesenawrote: > 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 < > buddhim...@wso2.com> 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. >> run(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- >> Methods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; >> charset=UTF-8,> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/;>> oapenv:Body/> 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
Re: [Dev] Error occurs with Response caching enabled.
Hi Buddhimala, Same error is reported here [1] and fixed with esb 5.1.0. Please check with it. [1] - https://wso2.org/jira/browse/ESBJAVA-4999 Regards, Samitha On Fri, Nov 24, 2017 at 2:18 PM, Buddhimala Ranasinghewrote: > 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- > 879f-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( > JsonUtil.java:276) > at org.apache.synapse.commons.json.JsonFormatter.writeTo( > JsonFormatter.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( > Axis2Sender.java:230) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send( > Axis2SynapseEnvironment.java:531) > at org.apache.synapse.mediators.builtin.SendMediator.mediate( > SendMediator.java:118) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.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( > RESTRequestHandler.java:90) > at org.apache.synapse.rest.RESTRequestHandler.process( > RESTRequestHandler.java:56) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment. > injectMessage(Axis2SynapseEnvironment.java:304) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver. > handleMessage(SynapseCallbackReceiver.java:554) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive( > SynapseCallbackReceiver.java:188) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.synapse.transport.passthru.ClientWorker.run( > ClientWorker.java:262) > at org.apache.axis2.transport.base.threads.NativeWorkerPool$ > 1.run(NativeWorkerPool.java:172) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.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-Allow-Origin,Content-Type, > SOAPAction,Access-Control-Allow-Methods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; > charset=UTF-8, xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/;>< > soapenv:Body/> 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( > Axis2Sender.java:230) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send( > Axis2SynapseEnvironment.java:531) > at org.apache.synapse.mediators.builtin.SendMediator.mediate( > SendMediator.java:118) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.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( > RESTRequestHandler.java:90) > at org.apache.synapse.rest.RESTRequestHandler.process( > RESTRequestHandler.java:56) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment. > injectMessage(Axis2SynapseEnvironment.java:304) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver. > handleMessage(SynapseCallbackReceiver.java:554) > at
Re: [Dev] Error occurs with Response caching enabled.
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 Ranasinghewrote: > 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- > 879f-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( > JsonUtil.java:276) > at org.apache.synapse.commons.json.JsonFormatter.writeTo( > JsonFormatter.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( > Axis2Sender.java:230) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send( > Axis2SynapseEnvironment.java:531) > at org.apache.synapse.mediators.builtin.SendMediator.mediate( > SendMediator.java:118) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.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( > RESTRequestHandler.java:90) > at org.apache.synapse.rest.RESTRequestHandler.process( > RESTRequestHandler.java:56) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment. > injectMessage(Axis2SynapseEnvironment.java:304) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver. > handleMessage(SynapseCallbackReceiver.java:554) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive( > SynapseCallbackReceiver.java:188) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at org.apache.synapse.transport.passthru.ClientWorker.run( > ClientWorker.java:262) > at org.apache.axis2.transport.base.threads.NativeWorkerPool$ > 1.run(NativeWorkerPool.java:172) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.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-Allow-Origin,Content-Type, > SOAPAction,Access-Control-Allow-Methods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; > charset=UTF-8, xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/;>< > soapenv:Body/> 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( > Axis2Sender.java:230) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send( > Axis2SynapseEnvironment.java:531) > at org.apache.synapse.mediators.builtin.SendMediator.mediate( > SendMediator.java:118) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:97) > at org.apache.synapse.mediators.AbstractListMediator.mediate( > AbstractListMediator.java:59) > at org.apache.synapse.mediators.base.SequenceMediator.mediate( > SequenceMediator.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( > RESTRequestHandler.java:90) > at org.apache.synapse.rest.RESTRequestHandler.process( > RESTRequestHandler.java:56) > at org.apache.synapse.core.axis2.Axis2SynapseEnvironment. > injectMessage(Axis2SynapseEnvironment.java:304) > at org.apache.synapse.core.axis2.SynapseCallbackReceiver. > handleMessage(SynapseCallbackReceiver.java:554) >
[Dev] Error occurs with Response caching enabled.
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-879f-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(JsonUtil.java:276) at org.apache.synapse.commons.json.JsonFormatter.writeTo(JsonFormatter.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(Axis2Sender.java:230) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531) at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.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(RESTRequestHandler.java:90) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:56) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:262) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.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-Allow-Origin,Content-Type,SOAPAction,Access-Control-Allow-Methods:PUT,Access-Control-Allow-Origin:*,Content-Type:application/json; charset=UTF-8,http://schemas.xmlsoap.org/soap/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(Axis2Sender.java:230) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531) at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.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(RESTRequestHandler.java:90) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:56) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:262) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at