'WSO2 MI Validate Mediator

I cannot properly configure validation based on JSON schema. Validate Mediator failed with the following:

Unsupported Operation org.apache.axiom.om.OMException: Unsupported Operation
    at org.apache.axiom.om.impl.llom.OMTextImpl.getInputStream(OMTextImpl.java:422)
    at org.apache.synapse.mediators.builtin.ValidateMediator.mediate(ValidateMediator.java:231)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
    at org.apache.synapse.api.Resource.process(Resource.java:342)
    at org.apache.synapse.api.API.process(API.java:463)
    at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:93)
    at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:71)
    at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:84)
    at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:70)
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54)
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:344)
    at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:101)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:375)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:434)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:182)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)


Solution 1:[1]

You have to specify the Media Type of the schema file as application/json[1].After creating the artifacts from the Integration Studio, open the created carbon application and check relevant artifact file of the schema. Then it should be configured as below.

<?xml version="1.0" encoding="UTF-8"?><resources>
<item>
    <file>ValidationResource.json</file>
    <path>/_system/config/myresources</path>
    <mediaType>application/json</mediaType>
    <properties/>
</item>

[1] https://ei.docs.wso2.com/en/latest/micro-integrator/references/mediators/validate-Mediator/#examples_1

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 KAsara