首页 文章

wso2服务器重新部署错误“有缺陷的碳应用程序” .

提问于
浏览
1

每当我尝试将应用程序重新部署到esb时,我都会收到错误消息 . 我试图合并来自不同api的2响应,然后映射并操纵该响应 . 我也使用最新的5.0.0 BETA版本esb工具和esb .

这是错误的原因

org.apache.axis2.deployment.DeploymentException:文件中的API部署:/Users/me/Downloads/wso2esb-5.0.0-BETA2/tmp/carbonapps/-1234/1468999438631movieapiApp_1.0.0.car/movieAPI_1.0.0/movieAPI -1.0.0.xml:失败 . 在在org.wso2.carbon.application org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:213)在org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:131) .deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:263)在org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:72)在org.apache.axis2.deployment.repository.util.DeploymentFileData .deploy(DeploymentFileData.java:136)org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144) )在在org.apache.axis2.deployment.RepositoryListener org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)在org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) . org.apache.axis2.deploy中的startListener(RepositoryListener.java:371) ment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)在org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)在org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment( CarbonDeploymentSchedulerTask.java:93)在org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util中.concurrent.FutureTask.runAndReset(FutureTask.java:308)at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:180)at java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java: 294)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)引起:org.apache.axis2.deploy ment.DeploymentException:文件中的API部署:/Users/me/Downloads/wso2esb-5.0.0-BETA2/tmp/carbonapps/-1234/1468999438631movieapiApp_1.0.0.car/movieAPI_1.0.0/movieAPI-1.0.0.xml:失败 . 在org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:201)... 20更多引起:org.apache.synapse.deployers.SynapseArtifactDeploymentException:文件中的API部署:/ Users / me / Downloads / wso2esb-5.0.0-BETA2 / tmp / carbonapps / -1234 / 1468999438631movieapiApp_1.0.0.car / movieAPI_1.0.0 / movieAPI-1.0.0.xml:失败 . org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:474)atg.apache.synapse.deployers.APIDeployer.deploySynapseArtifact(APIDeployer.java:71)at org.wso2.carbon.rest.api.ApiDeployer org.apache.synapse.SynapseException:.deploySynapseArtifact(ApiDeployer.java:34)在org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)...... 20多所造成的名称重复的资源定义:moviegi at org.apache.synapse.config.SynapseConfiguration.handleException(SynapseConfiguration.java:1627)org.apache.synapseConfiguration.addAPI(SynapseConfiguration.java:414)atg.apache.synapse.deployers.APIDeployer org.apache.synapse.config.SynapseConfiguration.addAPI(SynapseConfiguration.java:414) .deploySynapseArtifact(APIDeployer.java:59)......还有22个

这是我的api

<?xml version="1.0" encoding="UTF-8"?>
<api context="/movieapi" name="movieapi" xmlns="http://ws.apache.org/ns/synapse">
    <resource methods="GET" uri-template="/*">
        <inSequence>
            <property name="ROOT" scope="default">
                <root:movie xmlns:root="www.wso2esb.com"/>
            </property>
            <log level="full"/>
            <clone continueParent="true" id="movie" sequential="true">
                <target>
                    <sequence>
                        <send>
                            <endpoint>
                                <address format="rest" uri="https://api.themoviedb.org/3/movie/tt0918940?api_key=code&amp;append_to_response=casts,images%22"/>
                            </endpoint>
                        </send>
                    </sequence>
                </target>
                <target>
                    <sequence>
                        <send>
                            <endpoint>
                                <address format="rest" uri="https://www.omdbapi.com/?type=movie&amp;i=tt0918940"/>
                            </endpoint>
                        </send>
                    </sequence>
                </target>
            </clone>
        </inSequence>
        <outSequence>
            <aggregate id="movie">
                <completeCondition>
                    <messageCount max="-1" min="-1"/>
                </completeCondition>
                <onComplete enclosingElementProperty="ROOT" expression="//jsonObject" xmlns:dummy="http://org.dummy" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
                    <datamapper config="gov:datamapper/movieapiMapping.dmc" inputSchema="gov:datamapper/movieapiMapping_inputSchema.json" inputType="JSON" outputSchema="gov:datamapper/movieapiMapping_outputSchema.json" outputType="JSON"/>
                    <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
                    <respond/>
                </onComplete>
            </aggregate>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

这是来自终端

[2016-07-20 15:36:48,890] ERROR - DataMapperMediator DataMapper mediator : mapping configuration is null

2 回答

  • 2

    您在终端 DataMapperMediator DataMapper mediator : mapping configuration is null 中收到的错误是因为未部署相关的注册表资源(更准确地说,是配置.dmc文件) . 在部署capp时,请确保包含所有注册表资源 . 此外,当capp部署失败时,您是否可以在管理控制台中检查是否存在任何错误的服务/ API?

  • 0

    您收到指示数据映射器配置为null的错误 . 所以你必须添加您在代理中给出的相关配置:

    <datamapper config="gov:datamapper/movieapiMapping.dmc" inputSchema="gov:datamapper/movieapiMapping_inputSchema.json" inputType="JSON" outputSchema="gov:datamapper/movieapiMapping_outputSchema.json" outputType="JSON"/>
    

    例如:你表示 gov:datamapper/movieapiMapping.dmc

    这应该在治理注册表中提供 . 请将相关配置部署到ESB中 .

相关问题