2016-07-20 54 views
1

每当我尝试将应用程序重新部署到esb时,我都会收到错误消息。我试图合并来自不同api的2个响应,然后映射和处理该响应。我也在使用最新的5.0.0 BETA版本,包括esb工具和esb。wso2服务器重新部署错误“碳应用故障”。

这里是故障原因

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.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:213) 在 org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:131) 在 有机wso2.carbon.application.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) at 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.update(RepositoryListener.java:377) 在 有机apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) 在 org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) 在 org.apache.axis2.deployment.scheduler。 SchedulerTask.checkRepository(SchedulerTask.java:59) 在 org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67) 在 org.wso2.carbon.core.deployment.CarbonDeploymen tSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:93) 在 org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138) 在 java.util.concurrent.Executors $ RunnableAdapter.call(执行人。 Java的:511) 在java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)在 java.util.concurrent.ScheduledThreadPoolExecutor中的$ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:180) 在 java.util中。 concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 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)引起: 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.apache.synapse.deployers.SynapseArtifactDeploymentException:在 org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:201) ...... 20多个所致API从文件 部署: /用户/me/Downloads/wso2esb-5.0。0-β2/ 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) 在 org.apache.synapse.deployers.APIDeployer.deploySynapseArtifact(APIDeployer.java:71) 在 org.wso2.carbon。 org.apache.synapse:rest.api.ApiDeployer.deploySynapseArtifact在 org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)(ApiDeployer.java:34) ...... 20多所致。 SynapseException:由名字重复 资源定义:在 org.apache.synapse.config.SynapseConfiguration.handleException(SynapseConfiguration.java:1627)movieapi 在 org.apache.synapse.config.SynapseConfiguration.addAPI(SynapseConfiguration.java:414) 在 org.apache.synapse.deployers.APIDeployer.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

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

+0

我在哪里可以找到管理控制台?我只是跟着这里本指南https://docs.wso2.com/display/ESB500/Using+Data+Mapper+Mediator+in+WSO2+ESB这是我的movieapiApp的pom.xml http://pastebin.com/6ZVHpawb和这里是我的文件http://imgur.com/a/70WCN –

+0

好吧,我刚从头开始,我终于上传了碳。 –

0

你得到的错误,表示数据映射器配置为空。所以,你必须添加相应的配置,你在代理给出:

<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

这应该是治理registry.Please部署可用相关配置到ESB。

+0

我想是因为ESB服务器,不与我的ESB工具同步,你可以从我的错原因每次我试图重新部署应用ESB –

+0

时间看到的是,即使工作一次? –

+0

这将是有益的:https://docs.wso2.com/display/DVS350/Deploying+and+Debugging和https://www.youtube.com/watch?v=KxWz1qdSL9Q –