2016-07-20 56 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 –