0

第一次使用 Mirth。我们将与外部服务进行通信。SOAP 消息中的 SOAP Envelope 的一部分是 userId 和 passWord。除此之外,我们基本上需要在每次调用服务时创建一个唯一令牌的哈希。我需要 XML 有效负载的那部分来自一个函数。有没有办法将一段数据插入到作为 JavaScript 函数调用的结果的 SOAP 信封中?

4

1 回答 1

0

首先,您需要使用 Web Service Sender Connector Type。在这个例子中,我选择了一个在线天气网络服务。

在此处输入图像描述

粘贴 WSLD URL(橙色)并单击“获取操作”按钮(红色)

选择正确的服务后,单击“生成信封”按钮(红色),这将为您制作肥皂存根。像这样的东西,你可以使用像这样的变量 ${variableName}

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
   <soapenv:Header/>
   <soapenv:Body>
      <web:GetCitiesByCountry>
         <!--Optional:-->
         <web:CountryName>${myGeneratedCountryName}</web:CountryName>
      </web:GetCitiesByCountry>
   </soapenv:Body>
</soapenv:Envelope>

对于要使用计算值填充的变量,您需要使用例如 javascript 转换器。

创建一个新的目标并编辑变压器。

在此处输入图像描述

然后你可以使用 javascript 来计算你的价值。

在此处输入图像描述

最后一行用于使变量及其内容可用于 Web Service Sender。它像 java Map 一样工作

$co('myGeneratedCountryName',country);

但是还有其他方法,例如代码模板。如果您是 Mirth Connect 的新手,我建议您阅读Mirth Connect 用户指南,其中涵盖了此用例和许多其他用例。

于 2017-12-19T15:03:36.320 回答