Mulesoft RAML - 在嵌套 XSD 文件上具有请求主体架构和响应主体架构的 Api 规范

Posted

技术标签:

【中文标题】Mulesoft RAML - 在嵌套 XSD 文件上具有请求主体架构和响应主体架构的 Api 规范【英文标题】:Mulesoft RAML - Api specification with request body schema and response body schema on nested XSD file 【发布时间】:2022-01-19 22:56:53 【问题描述】:

我正在尝试使用引用两个文件 XSD OTA_CancelRQ.xsd 和 OTA_CancelRS.xsd 的请求主体架构和响应主体架构创建 api 规范

我的问题是文件 OTA_CancelRQ.xsd 使用 xs:include 字符串引用了两个文件 XSD“OTA_CommonTypes.xsd”和“OTA_SimpleTypes.xsd”

如果我将此 api 规范与 anypoint studio 中的项目一起使用,并使用 XML 正文请求调用方法 OTA_CancelRQ,我会收到一条错误消息,提示我“无法将名称 'OTA_PayloadStdAttributes' 解析为 a(n) '属性组'组件”,但“OTA_PayloadStdAttributes”组件包含在“OTA_CommonTypes.xsd”文件中。

我也尝试使用命令“xs:import”,但最终结果相同“无法将名称 'OTA_PayloadStdAttributes' 解析为 (n) '属性组'组件”

我的问题是:是否可以使用引用另一个本地 XSD 文件的 XSD 架构创建 api 规范?

【问题讨论】:

对我没有其他帮助吗? 【参考方案1】:

我不确定<xs:include>,但已知<xs:import> 可以工作:

<xs:import namespace="http://www.somecompany.com" schemaLocation="someschema.xsd"/>

我相信如果它无法找到问题,您会看到不同的错误。我怀疑问题是命名空间不是正确的。

【讨论】:

正如我在帖子中所写,我也尝试使用 xs:import,但结果相同(在命名空间字段中,我插入了引用的 xsd 文件的 targetNamespace 的值)。

以上是关于Mulesoft RAML - 在嵌套 XSD 文件上具有请求主体架构和响应主体架构的 Api 规范的主要内容,如果未能解决你的问题,请参考以下文章

RAML中基于查询参数的动态调用

Mulesoft 设计中心问题

如何在 MuleSoft 中将分支合并为 master(Anypoint 设计中心)

RAML:如何仅导出特定类型的 XSD

在线提供示例 RAML [关闭]

在 RAML 中验证查询参数