1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PowerAutomateでSOAPサービスを呼び出す

Last updated at Posted at 2023-03-06

目的

PowerAutomateでSOAPの呼び出しを実現したい。

デスクトップフローではSOAPを呼び出すアクションが存在します。

一方クラウドフローではSOAPを呼び出すアクションが存在しません。
RESTを呼び出すアクションとしてHTTPアクションが用意されています。
今回はHTTPアクションを使い、SOAPサービスを呼んでみたいと思います。

実装フロー全体像

image.png
全体像はこんな形となっています。
それではアクションを1つ1つ見ていきます。

フロー詳細

1. 手動でフローをトリガーします
image.png
これはとくに解説不要ですね。テスト動作するときはみなさん使われるかと思います。

2. 変数を初期化する - inputを設定
image.png
ここも本筋ではありませんが、後続のSOAP呼び出しを行うときのinputとして変数化しています。

3. HTTP - SOAPサービスの呼び出し
今回テストにあたり以下の公開SOAPを利用させていただきました。
https://documenter.getpostman.com/view/8854915/Szf26WHn#ce8589ab-0fc5-493c-9792-93e5d427e608
※入力した数値を文字に変更してくれるようです。
image.png
SOAPの仕様に従ってHTTPアクションを設定していきます。
なお、本文(Body)には前項で設定したinputを挟み込んでいます。

4. 作成 - レスポンスをJSON形式に変換
image.png
前項のHTTPアクションでレスポンスが返ってくるのですが、
どうやらXMLのふりしたテキストのようです。
これをPowerAutomateで利用しやすいように整形します。
image.png
image.png
式は上記のような形となっています。
body('HTTP_-_SOAPサービスの呼び出し')が前項のレスポンスです。
まず、そのレスポンスをxml()でxml形式に変換します。
さらに、json()でjson形式に変換します。

5. JSON の解析 - JSON形式をPowerAutomateで使いやすく
image.png
ここまでくればSOAPならではのことはありません。
JSONの解析アクションでPowerAutomateで使いやすいようにします。
スキーマは「サンプルから生成」を使うと楽です。
サンプルから生成の際は、前項のアクションの結果をコピペするのが楽です。

6. 変数を初期化する - outputを設定
image.png
最後に結果を変数に確認します。

結果

image.png
上記は想定通り、
input「928」に対し、output「nine hundred and twenty eight」を
取得することができました。

最後に

RESTのサンプルはたくさんありますが、
SOAPで呼び出す例が探した限り見当たらなかったので記事にしてみました。
ご指摘やコメントありましたらいただけると幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?