wso2 / micro-integrator

The cloud-native configuration driven runtime that helps developers implement composite microservices.
https://wso2.com/integration/
Apache License 2.0
194 stars 206 forks source link

Malformed JSON error when using SQS Connector #3355

Closed VinulaUthsara closed 3 weeks ago

VinulaUthsara commented 4 weeks ago

When using the AWS SQS Connector (amazonsqs-connector-1.1.4) sendMessage operation. If the request body JSON payload has a forward slash () as in the following example:

{
    "msggrpdup": "123",
    "msggrpid": "123",
    "Request": {
        "name": "\”Computer Sales Ltd (Sales)"
    },
    "service": [
        {
            "service": "M",
            "action": "create"
        }
    ]
}

When the send message operation is invoked we get the following error:

ERROR {SequenceMediator} - com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 693 path $.Request.name
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 693 path $.Request.name
at com.google.gson.internal.Streams.parse(Streams.java:60)
at com.google.gson.JsonParser.parseReader(JsonParser.java:85)
at com.google.gson.JsonParser.parseReader(JsonParser.java:60)
at com.google.gson.JsonParser.parseString(JsonParser.java:47)
at com.google.gson.JsonParser.parse(JsonParser.java:98)
at org.apache.synapse.mediators.elementary.Source.evaluateJson(Source.java:318)
at org.apache.synapse.mediators.elementary.EnrichMediator.mediate(EnrichMediator.java:221)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:110)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:72)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectInbound(Axis2SynapseEnvironment.java:486)
at org.wso2.carbon.inbound.amazonsqs.AmazonSQSPollingConsumer.injectMessage(AmazonSQSPollingConsumer.java:283)
at org.wso2.carbon.inbound.amazonsqs.AmazonSQSPollingConsumer.poll(AmazonSQSPollingConsumer.java:213)
at org.wso2.carbon.inbound.amazonsqs.AmazonSQSPollingConsumer.poll(AmazonSQSPollingConsumer.java:58)
at org.wso2.carbon.inbound.endpoint.protocol.generic.GenericTask.taskExecute(GenericTask.java:40)
at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:43)
at org.wso2.micro.integrator.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:105)
at org.wso2.micro.integrator.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:63)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 693 path $.Request.name
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1597)
at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:491)
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:414)
at com.google.gson.internal.bind.TypeAdapters$28.read(TypeAdapters.java:725)
at com.google.gson.internal.bind.TypeAdapters$28.read(TypeAdapters.java:726)
at com.google.gson.internal.bind.TypeAdapters$28.read(TypeAdapters.java:697)
at com.google.gson.internal.Streams.parse(Streams.java:48)
... 23 more