【そーぷえーぴーあい】

SOAP API とは?

最終更新:
💡 XMLの封筒にデータを入れてやり取りするAPI

SOAPのメッセージ形式と処理規則を使って通信するAPI。XMLを基にしたEnvelopeの中に必須のBodyと任意のHeaderを持ち、サービスの操作やデータをやり取りする。

📌 このページのポイント
SOAP API:XMLのメッセージで通信 クライアント サーバー リクエスト レスポンス Envelope(XMLの封筒) Header:任意 追加の処理情報 Body:必須 操作・データ、エラー情報など WSDL:サービスの仕様を記述する別仕様 安全性は実装・拡張・設定も確認
HTTP上のリクエスト・レスポンスの例。SOAPはHTTPに限定されず、WSDLの使用自体も必須ではありません。
ひよこ ひよこ
SOAP APIって、何を送るの?
ペンギン先生 ペンギン先生
SOAPという規則に沿ったメッセージを送るよ。XMLのEnvelopeを封筒にたとえると、中のBodyが本文。Headerには追加の処理情報を入れられる。Bodyは必須だけれど、Headerは省略できるんだ。
ひよこ ひよこ
リクエストとレスポンスで使うの?
ペンギン先生 ペンギン先生
たとえば在庫数を問い合わせて、結果を返してもらう使い方があるよ。HTTP上での通信が一例だけれど、SOAPの枠組みはHTTPだけに限定されていない。エラー情報を表すFaultも定義されているんだ。
ひよこ ひよこ
WSDLもSOAPの一部なの?
ペンギン先生 ペンギン先生
別の仕様だよ。サービスが提供する操作、送受信するデータ型、接続先などを記述するためのものなんだ。SOAPと組み合わせて、相手との取り決めを共有できる。SOAPメッセージを送ること自体にWSDLの使用が必須というわけではないよ。
ひよこ ひよこ
SOAPなら自動で安全に通信できる?
ペンギン先生 ペンギン先生
自動ではないよ。SOAP本体は拡張の仕組みを用意しているけれど、暗号化や信頼性をすべて組み込んでいるわけではない。接続先が求める認証方式や通信の保護、追加仕様への対応を確認する必要があるんだ。
ひよこ ひよこ
REST APIとの違いは?
ペンギン先生 ペンギン先生
SOAPはメッセージ形式と処理規則のプロトコル、RESTはシステム設計のスタイルだよ。RESTでJSONが使われることは多いけれど、JSON専用という意味ではない。連携では相手の仕様に合わせ、SOAPのバージョンや必要な拡張、WSDLがあればその内容も確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SOAP API」って出てきたら「決まったXMLのメッセージ形式でやり取りするAPI」と思えばだいたいOK!
📖 おまけ:英語の意味
「SOAP」 = XMLを基にしたメッセージ交換プロトコルの名前
💬 以前はSimple Object Access Protocolの略だったけれど、SOAP 1.2では略語として扱わないと仕様に明記されているよ。APIはApplication Programming Interfaceの略だね。

参考資料

← 用語集にもどる