3

我想使用 MULE 企业版向 SOAP 网络服务发布消息。为了创建 Request 对象,我使用带有输入 POJO 的数据映射器,对于输出,我选择了 XML ,并从示例 XML 模式中添加了我自己的 XSD。因为 xsd 中有很多元素,所以我从提供的列表中选择了根元素。

然后我将字段从输入拖到输出中我想要的相应值。(我也尝试只映射一个字段,以确保我保持最小的错误概率)。

现在的问题是:当访问流时,会显示以下 WARN 并且数据映射器失败

*[XML WRITER:EXT_XML_WRITER0] - 无效映射(端口绑定到根元素,结果可能包含多个根元素。此类 XML 格式不正确。为避免这种情况,请设置“每个文件的记录数”或“最大记录数”组件属性为“1”。)*

我在哪里可以在数据映射器中设置这种选项?

而且我希望根元素只有一个,我不需要根元素的 foreach,我只需要填充它的内容。我可以在数据映射器中的任何地方指定这个吗?

谢谢。

4

2 回答 2

5

Mule EE DataMapper 使用 CloverETL 进行数据转换,这个烦人的警告涉及 CloverETL 设置。我不知道您是否可以建议 CloverETL 在 Mule DataMapper 的上下文中使用特定的配置文件,但您始终可以使用文本编辑器编辑 Mule 生成的映射文件。只需Node在映射文件中找到您的根条目并添加recordsPerFile="1"属性即可。这样做的问题是,如果您使用图形编辑器,Mule 可能会覆盖您的手动编辑。

于 2013-11-27T12:57:10.143 回答
0

查看 2014 年 5 月的 Anypoint Studio。Mule 现在包含一个新的 Web 服务连接器,用于仅使用 WSDL 将消息发布到 SOAP Web 服务。Studio 将从 WSDL 中读取 XML Schema,并自动为您创建 DataMapper 的元数据。有关详细信息,请参阅http://www.mulesoft.org/documentation/display/current/Web+Service+Consumer 。

于 2014-06-13T23:16:33.390 回答