错误:架构不能包含两个具有相同名称的全局组件

时间:2019-04-26 10:28:36

标签: mule anypoint-studio

在MuleSoft.U开发基础知识演练8-1,第39步中,我试图部署该项目,但失败。控制台显示以下错误:

错误2019-04-24 17:02:29,203 [WrapperListener_start_runner] [事件:] org.mule.runtime.module.deployment.impl.internal.application.DefaultMuleApplication:null org.mule.runtime.api.exception.MuleRuntimeException:解析给定文件'implementation.xml'时出现'1'错误。 完整清单: org.xml.sax.SAXParseException; systemId:http://www.mulesoft.org/schema/mule/american-flights-api/current/mule-american-flights-api.xsd; lineNumber:186; columnNumber:50; sch-props-correct.2:模式不能包含两个具有相同名称的全局组件;此架构包含两次“ http://www.mulesoft.org/schema/mule/american-flights-api,java.lang.StringEnumType”。

如本主题所述:https://forums.mulesoft.com/questions/105886/mulesoftu-dev-fund-mule-4-wt-81-error-a-schema-can.html?childToView=106391#answer-106391

我试图在设计中心更改枚举类型(然后将其导入到项目中),但是它继续失败(相同的错误)。

我还检查了实现xml中的模式文件,它们是正确数量的模式,并且没有一个被加倍。

当我在任意点交换中将项目连接到api时,问题似乎开始了。但是,该api可以正常运行,我之前已经使用过。

1 个答案:

答案 0 :(得分:0)

这不是您项目中的xml配置。这是美式航班api连接器中的xml配置。

将RAML更改为不包含枚举后:

发布更改的raml以通过api设计器进行交换。使用发布以交换按钮。

这将为您的新API版本生成一个新的REST连接器版本。

在Anypoint Studio中,您需要删除American flight api连接器模块。在右侧的“ Mule”面板中,选择模块,右键单击并选择“ Remove module”。

从交易所添加一个新模块,然后选择您的American Flights API连接器的最新版本。在右侧的Mule面板中,单击“在Exchange中搜索”并搜索美式连接器。确保选择最新版本。