简体   繁体   English

wso2数据映射器失败

[英]wso2 data mapper failed

When i tried to use the data mapper mediator I always get an error. 当我尝试使用数据映射器介体时,总是会出现错误。 I tried mapping the json response to xml. 我尝试将json响应映射到xml。

[2016-07-14 14:05:26,684] ERROR - omdbapi DataMapper mediator : mapping failed
XML not well-formed. Error occurred while processing start element event
    at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLReader.read(XMLReader.java:97)
    at org.wso2.carbon.mediator.datamapper.engine.input.InputModelBuilder.buildInputModel(InputModelBuilder.java:52)
    at org.wso2.carbon.mediator.datamapper.engine.core.mapper.MappingHandler.doMap(MappingHandler.java:59)
    at org.wso2.carbon.mediator.datamapper.DataMapperMediator.transform(DataMapperMediator.java:244)
    at org.wso2.carbon.mediator.datamapper.DataMapperMediator.mediate(DataMapperMediator.java:209)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:83)
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:49)
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:160)
    at org.apache.synapse.rest.Resource.process(Resource.java:320)
    at org.apache.synapse.rest.API.process(API.java:336)
    at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:120)
    at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:100)
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:55)
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:541)
    at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:179)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:252)
    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:745)

Here is my api. 这是我的API。 I just use the omdbapi to give an example. 我只是使用omdbapi来举一个例子。

<?xml version="1.0" encoding="UTF-8"?>
<api context="/omdbapi" name="omdbapi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="GET" uri-template="/*">
        <inSequence>
            <send>
                <endpoint>
                    <address trace="disable" uri="http://www.omdbapi.com/"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <datamapper config="gov:datamapper/omdbapiConfig.dmc" inputSchema="gov:datamapper/omdbapiConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/omdbapiConfig_outputSchema.json" outputType="XML"/>
            <respond/>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

If you are trying to map JSON-> XML, you need to specify in the Data Mapper Mediator configuration. 如果尝试映射JSON-> XML,则需要在Data Mapper Mediator配置中指定。 Make sure you set the input type as JSON. 确保将输入类型设置为JSON。

And there have been beta2 release on wso2 esb. 并且在wso2 esb上有beta2版本。 So try using beta2 packs for esb runtime and tooling . 因此,请尝试将beta2包用于esb 运行时工具 Use the latest pack and try. 使用最新的包并尝试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM