Herong's Tutorial Notes on Web Service and SOAP
Dr. Herong Yang, Version 3.00

SOAP HTTP Binding

This chapter describes SOAP HTTP Binding and mapping rules for SOAP Message Exchange Patterns.

SOAP HTTP Binding is an extension of SOAP framework specification that support the following message exchange patterns and features with HTTP/1.1 protocol:

  • Request-Response Message Exchange Pattern
  • Response Message Exchange Pattern
  • SOAP Web Method Feature
  • SOAP Action Feature

SOAP HTTP Binding is named as: http://www.w3.org/2003/05/soap/bindings/HTTP/

SOAP HTTP Binding defines the following rules:

Rule 1: SOAP messages must be communicated using media type "application/soap+xml".

Rule 2: The supported message exchange patterns are mapped to Web methods as follows:

"http://www.w3.org/2003/05/soap/mep/request-response/" --> "POST"
"http://www.w3.org/2003/05/soap/mep/soap-response/" --> "GET"

Rule 3: The SOAP node acting as the HTTP client may assume the "RequestingSOAPNode" role.

Rule 4: The SOAP node acting as the HTTP server may assume the "RespondingSOAPNode" role.

Rule 5: The requesting node in the "Init" state should prepare the HTTP request as follows:

  • Request URI: Take the value from http://www.w3.org/2003/05/soap/mep/ImmediateDestination
  • HTTP Method: Take the value from http://www.w3.org/2003/05/soap/features/web-method/Method
  • Content-Type header line: Set to "application/soap+xml"
  • Action parameter: Take the value from http://www.w3.org/2003/05/soap/features/action/Action
  • Request body: Take the value from http://www.w3.org/2003/05/soap/mep/OutboundMessage

Rule 6: The requesting node in the "Requesting" state should check the HTTP response status code to decide the next state.

Rule 7: The responding node in the "Receiving" state should prepare the HTTP response as follows: to decide the next state.

  • Content-Type header line: Set to "application/soap+xml"
  • Response body: Set to the response SOAP message

Dr. Herong Yang, updated in 2007
SOAP HTTP Binding