大企業を中心にエンタープライズシステム間の連携などで、SOAP APIはよく活用されています。それでは、SOAP APIのリクエストを送信したり、レスポンスを検証したりするため、どうしたらいいですか?本文では、有名なAPIテストツールのPostmanを使って、SOAP APIリクエストを送信する方法を皆さんに紹介します。
SOAP APIとは?
SOAP(Simple Object Access Protocol)は、ウェブサービス間での情報交換を目的とした通信プロトコルです。SOAPはXML(eXtensible Markup Language)ベースのプロトコルであり、クライアントとサーバー間でメッセージをやり取りするためのルールや形式を提供します。SOAP APIは、常にSOAPプロトコルを利用したインターフェース(API)のことを指しています。

SOAP APIリクエスト送信するには、Postmanを利用
APIテスト用の定番ツールとして、Postmanはさまざま種類のAPIにも互換できます。SOAP リクエストを送信してレスポンスを取得する場合でも、Postmanは役に立ちます。
次は、Postmanを利用してSOAPリクエストを送信する手順を紹介します。
ステップ⒈リクエストの新規作成
Postmanを開き、HTTP Requestを新規に作成して、SOAP APIのエンドポイントURLを入力して、HTTPメソッドをPOSTに設定する必要があります。

ステップ⒉HTTP Headersを設定
リクエストのHeadersで、Content-Typeを「text/xml」に設定し、SOAPActionを利用中のHTTPメソッドに設定します。
- Content-Type:
application/xml
という項目のチェックをはずします。 - Content-Typeフィールドを別途作成し、その値を「text/xml」に設定します。
- SOAPActionフィールドを追加して、その値「#POST」に設定します。

ステップ⒊SOAPリクエストのBodyを設定
まずは、XMLフォーマットでSOAP APIのEnvelope、HeaderやBodyを定義する必要があります。Postmanで「Body」タブに切り替え、「Raw」を選択すると、XMLのコンテンツをここに入力できるようになります。

ステップ⒋リクエストを送信してレスポンスを取得
SOAPリクエストのBodyの設定が終わったら、「Send」ボタンをクリックしてリクエストを送信します。 Postman はリクエストを SOAP API エンドポイントに送信し、レスポンスを返します。 「Response」エリアで応答のコンテンツを確認できます。

ApidogでよりシンプルでSOAP APIリクエストを送信できる
Apidogは、Postmanより強力的なAPI管理ツールとして、SOAP APIにも互換できます。また、ApidogのUIが完全に日本語化されていて、国内のユーザーにとって非常に直感的な操作でSOAPリクエストを送信できます。
それでは、次は、Apidogを使って、SOAPリクエストを送信してレスポンスを取得する方法を皆さんに紹介します。
Postmanに比べてみると、Apidogでの設定項目はかなり少なくなります。
- HeaderタブでContent-Typeを「text/xml; charset=uft-8」か「application/soap+xml」に設定します。
- Bodyのフォーマットを「xml」に設定した上、「送信」ボタンをクリックすると、SOAP APIから返されたxmlデータを取得できます。
