SOAP HTTP バインディング

HTTPプロトコル

HTTPはTCP/IPの上で通信を行います。HTTPクライアントはHTTPサーバーにTCP接続を開きます。接続が確立された後、クライアントはサーバーにHTTPリクエストメッセージを送信できます:

POST /item HTTP/1.1
Host: 189.123.345.239
Content-Type: text/plain
Content-Length: 200

その後、サーバーはこのリクエストを処理し、クライアントにHTTP応答を送信します。この応答には、リクエストの状態を示す状態コードが含まれています:

200 OK
Content-Type: text/plain
Content-Length: 200

上記の例では、サーバーが 200 のステータスコードを返しました。これは HTTP の標準的な成功コードです。

サーバーがリクエストをデコードできなかった場合、このような情報を返すことがあります:

400 Bad Request
Content-Length: 0

SOAP HTTP バインディング

SOAP メソッドは、SOAP エンコーディング規則に従う HTTP リクエスト/レスポンスを指します。

HTTP + XML = SOAP

SOAP リクエストは HTTP POST または HTTP GET リクエストです。

HTTP POST リクエストは、少なくとも Content-Type と Content-Length の 2つの HTTP ヘッダーを指定します。

Content-Type

SOAP のリクエストおよびレスポンスの Content-Type ヘッダーは、メッセージの MIME タイプを定義し、リクエストまたはレスポンスの XML ボディの文字エンコーディング(オプション)を指定します。

文法

Content-Type: MIMEType; charset=character-encoding

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8

Content-Length

SOAP のリクエストおよびレスポンスの Content-Length ヘッダーは、リクエストまたはレスポンスのボディのバイト数を指定します。

文法

Content-Length: bytes

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 250