我是WSO2 EI的新手。我必须为系统环境变量设置一个端点URI。我使用Integration Studio 7.1.0开发和WSO2 EI v6.5.0。作为TEST服务器。当我在Micro Integrator Server 1.2.0下的Windows上运行集成项目时,它运行得很好。但是当我尝试将我的项目添加到TEST时,我会得到Endpoint Deployment ERROR:
TID[-1234] [EI] [2020-12-04 15:53:50,574] ERROR {org.wso2.carbon.endpoint.EndpointDeployer} - Endpoint Deployment from the file : /usr/lib64/wso2/wso2ei/6.5.0/wso2/tmp/carbonapps/-1234/1607086430541Hello02CompositeExporter_1.0.0.car/NumberConversion_1.0.0/NumberConversion-1.0.0.xml : Failed. org.apache.synapse.config.xml.endpoints.resolvers.SystemResolver.resolve(SystemResolver.java:41) org.apache.synapse.config.xml.endpoints.AddressEndpointFactory.createEndpointDefinition(AddressEndpointFactory.java:124) org.apache.synapse.config.xml.endpoints.AddressEndpointFactory.createEndpoint(AddressEndpointFactory.java:89) org.apache.synapse.config.xml.endpoints.EndpointFactory.createEndpointWithName(EndpointFactory.java:143) org.apache.synapse.config.xml.endpoints.EndpointFactory.getEndpointFromElement(EndpointFactory.java:80) org.apache.synapse.deployers.EndpointDeployer.deploySynapseArtifact(EndpointDeployer.java:56) org.wso2.carbon.endpoint.EndpointDeployer.deploySynapseArtifact(EndpointDeployer.java:36) org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:197) org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifactType(SynapseAppDeployer.java:1099) org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:114) org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:272) 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.update(RepositoryListener.java:377) org.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.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) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748)
有我的API:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/number-to-words" name="Calculator" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="POST">
<inSequence>
<call>
<endpoint key="NumberConversion"/>
</call>
<respond/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>
终点:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="NumberConversion" xmlns="http://ws.apache.org/ns/synapse">
<address uri="$SYSTEM:WSO2_TEST_EP_URL">
<suspendOnFailure>
<initialDuration>-1</initialDuration>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
</markForSuspension>
</address>
</endpoint>
我已将WSO2_TEST_EP_URL变量添加到TEST服务器上的/etc/environment。
此功能是在EI 6.6.0中引入的。请参阅文档。https://docs.wso2.com/display/EI660/Injecting+参数+as+环境+变量