2

我们有两个频道channelA叫做channelB.

在通道A中,我们有两个目的地

  • 一个。第一个目的地将使用 XML 数据作为输入调用通道 B,并从通道 B 以 XML 格式获取响应。

  • 湾。以 xml 格式检索第一个目的地的响应并进行处理。

var dest1 = responseMap.get("destination1"); var resMessage = dest1.getMessage();

我收到频道 B 的响应为"Message routed successfully".

我将如何从而channelB不是"Message routed successfully"消息中获取实际的 XML。

我们正在执行上述步骤来定义通用通道,以便我们可以在 mirth 应用程序的不同场景中重用它。

我们使用 mirth 2.2.1.5861 版本。

4

2 回答 2

1

创建ChannelB源数据类型为XML,并将源作为通道阅读器。ChannelA您必须以频道作家的身份制作一个目的地,并ChannelB输入详细信息。

这样,您以 XML 形式获得的任何消息都ChannelA将被路由到ChannelB.

于 2013-06-30T17:45:23.823 回答
1

我们正在做的事情与您描述的非常相似。在我们的例子中,destination1 是一个 SOAP 发送者(SOAP 使用 XML 来发送和接收信封)。这是我们在destination2 JavaScript Writer 中成功使用的语法:

var dest1 = responseMap.get("destination1");
var resMessage = dest1.getStatus().toString();

if (resMessage == "SUCCESS")
{
    var stringResponse = dest1.getMessage();
    channelMap.put('stringResponse',stringResponse);

    var xmlResponse = new XML(stringResponse);

    // use e4x notation to parse xmlResponse
}

如果您的destination1 不是SOAP 发送者,那么来自channelB 的XML 响应可能会以某种方式被打包,您需要从“stringResponse”中提取。通过通道运行消息后,您可以看到通道映射变量“stringResponse”的内容。转到仪表板,双击频道,找到已发送的消息,然后查看映射选项卡。“stringResponse”的内容实际上是什么样的?只是“消息路由成功吗?” 还是该文本后跟您所追求的 XML?

于 2013-07-03T00:15:23.960 回答