Re: [Dev] Error occurs with Response caching enabled.

2017-11-28 Thread Piriya Sivalingam
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 
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 
> 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.

2017-11-24 Thread Thivya Mahenthirarasa
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.
>> 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.

2017-11-24 Thread Mushthaq Rumy
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 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.
>> 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.

2017-11-24 Thread Samitha Chathuranga
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 Ranasinghe 
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-
> 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.

2017-11-24 Thread Krishan Wijesena
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 
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-
> 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.

2017-11-24 Thread Buddhimala Ranasinghe
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