我的 JMS 主题中有消息要读取并使用 Mule JDBC 数据库适配器存储在表中,我知道我必须将 JMS XML 消息转换为映射有效负载以便轻松将其放入 JDBC。这里是样本流程:
<flow name="DBLoggerFlow">
<jms:inbound-endpoint topic="${topic.logTopic}"
connector-ref="jmsConnector" doc:name="JMS">
<jms:transaction action="NONE" timeout="${queue.transaction.timeout}" />
</jms:inbound-endpoint>
<jdbc:xml-to-maps-transformer name="XMLToMaps"/>
<jdbc:outbound-endpoint queryKey="insertion"
connector-ref="insertionConnector"/>
</flow>
但是,当我运行代码时出现此错误:
错误 2013-02-01 13:00:26,427 [WrapperListener_start_runner] org.mule.module.launcher.application.DefaultMuleApplication: null org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“jdbc:xml-to-maps-transformer”开头的无效内容。' 之一是预期的。 在 org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(未知来源) 在 org.apache.xerces.util.ErrorHandlerWrapper.error(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.XMLErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator.reportSchemaError(未知来源) 在 org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(未知来源)
为什么 XML 到 Map 的转换在这里是个问题?有没有替代或更好的方法来做到这一点?