0

初めてマースを利用しました。外部サービスと通信します。SOAP メッセージの SOAP エンベロープの一部は、userId と passWord です。それに加えて、サービスを呼び出すたびに一意のトークンを作成するハッシュを基本的に実行する必要があります。XML ペイロードのその部分を関数から取得する必要があります。JavaScript 関数呼び出しの結果として、データの一部を SOAP エンベロープに挿入する方法はありますか?

4

1 に答える 1

0

まず、Web Service Sender Connector Type を使用する必要があります。この例では、オンラインの天気 Web サービスを選択しました。

ここに画像の説明を入力

WSLD URL (オレンジ) を貼り付けて、[Get Operations] ボタン (赤) をクリックします。

適切なサービスを選択したら、「Generate Envelope」ボタン (赤) をクリックして、ソープ スタブを作成します。この ${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 サービス送信側で使用できるようにするために使用されます。Javaマップのように機能します

$co('myGeneratedCountryName',country);

ただし、コード テンプレートなど、他の方法もあります。Mirth Connect を初めて使用する場合は、 Mirth Connect ユーザー ガイドを読むことをお勧めします。このガイドには、このユース ケースやその他の多くのケースが含まれています。

于 2017-12-19T15:03:36.320 に答える