请有人确认以下内容.. 我正在使用欢乐连接3.5.08232。 我的源连接器是数据库读取器。欢乐连接数据库读取器自动列映射
说,我正在使用一个返回多行的查询,并返回结果(通过JavaScript),如文档所示,以便Mirth将每行视为一个单独的消息。我还使用了几个映射器作为源变换器,并将映射的字段保存在我的频道映射中(最终只包含我在变换器中定义的那些字段)
在目标中,特别是在目标响应变换器(或目的主体,如果它是一个JavaScript编写器),我如何访问源字段?
我通过反复试验发现,唯一的办法就是
var rawMsg = connectorMessage.getRawData();
var xmlMsg = new XML(rawMsg);
logger.info(xmlMsg.some_field); // ignore the root element of rawMsg
这是做这个正确的方式?我认为可能自动检测到的字段会被放入某种地图中,比如sourceMap--但似乎并非如此,对吧?
谢谢
感谢您的回复 - 并为您的很多职位在欢乐支持网站上。在特定的情况下,我宁愿所有的变量都以某种方式自动映射 - 实际上它已经完成 - 只是通过原始输入消息的序列化内部表示来获取它们。 - 我想知道的原因是可能有很多很多变量 - 并且逐个添加它们会非常繁琐。但无论如何 - 如果没有这种方式(或者自动为所有输入字段创建映射的方式,比如说),那么我会很乐意将您的答案标记为答案。 –
如果您有很多人,您当然不必单独创建Mapper步骤。例如,使用JavaScript步骤可以自动映射所有内容。我更新了我的答案,注意到这一点。 –