SOAP HTTP Binding

From http://www.w3schools.com (Copyright Refsnes Data)

# SOAP HTTP Binding

## The HTTP Protocol

HTTP communicates over TCP/IP. An HTTP client connects to an HTTP server using TCP. After establishing a connection, the client can send an HTTP request message to the server:

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

The server then processes the request and sends an HTTP response back to the client. The response contains a status code that indicates the status of the request:

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

In the example above, the server returned a status code of 200. This is the standard success code for HTTP.

If the server could not decode the request, it could have returned something like this:

    400 Bad Request
    Content-Length: 0

## SOAP HTTP Binding

A SOAP method is an HTTP request/response that complies with the SOAP encoding rules.

### HTTP + XML = SOAP

A SOAP request could be an HTTP POST or an HTTP GET request.

The HTTP POST request specifies at least two HTTP headers: Content-Type and Content-Length.

## Content-Type

#### The Content-Type header for a SOAP request and response defines the MIME type for the message and the character encoding (optional) used for the XML body of the request or response.

#### Syntax

    Content-Type: MIMEType; charset=character-encoding

#### Example

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

## Content-Length

#### The Content-Length header for a SOAP request and response specifies the number of bytes in the body of the request or response.

#### Syntax

    Content-Length: bytes

#### Example

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

From http://www.w3schools.com (Copyright Refsnes Data)