SOAP Web Service Tutorials - Herong's Tutorial Examples - v5.13, by Herong Yang
Request-Response Message Exchange Pattern
This section describes the SOAP Request-Response Message Exchange Pattern, its properties and processing rules.
Request-Response Message Exchange Pattern is a pattern where a request SOAP message followed by a response SOAP message are exchanged between two SOAP nodes. The pattern name is: http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/ExchangePatternName = http://www.w3.org/2003/05/soap/mep/request-response/.
Request-Response Message Exchange Pattern defines the following additional SOAP properties:
1. Outbound Message: Used to represent the outbound SOAP message from this local node point of view. This property is named as: http://www.w3.org/2003/05/soap/mep/OutboundMessage
2. Inbound Message: Used to represent the inbound SOAP message from this local node point of view. This property is named as: http://www.w3.org/2003/05/soap/mep/InboundMessage
3. Destination Node: Used to identify the remote SOAP node of the outbound message. This property is named as: http://www.w3.org/2003/05/soap/mep/ImmediateDestination
4. Sender Node: Used to identify the remote SOAP node of the inbound message. This property is named as: http://www.w3.org/2003/05/soap/mep/ImmediateSender
Request-Response Message Exchange Pattern also defines the following processing rules:
Rule 1: At the requesting SOAP node, there will be a set of SOAP properties with the following initial values:
http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /ExchangePatternName = "http://www.w3.org/2003/05/soap/mep/request-response/" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /FailureReason = "None" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /Role = "RequestingSOAPNode/" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /State = "Init" http://www.w3.org/2003/05/soap/mep/OutboundMessage = (the requesting message) http://www.w3.org/2003/05/soap/mep/InboundMessage = (not defined yet) http://www.w3.org/2003/05/soap/mep/ImmediateDestination = (the URI of the responding node) http://www.w3.org/2003/05/soap/mep/ImmediateSender = (not defined)
Rule 2: At the responding SOAP node, there will be another set of SOAP properties with the following initial values:
http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /ExchangePatternName = "http://www.w3.org/2003/05/soap/mep/request-response/" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /FailureReason = "None" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /Role = "RespondingSOAPNode/" http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext /State = "Init" http://www.w3.org/2003/05/soap/mep/OutboundMessage = (not defined yet) http://www.w3.org/2003/05/soap/mep/InboundMessage = (the requesting message) http://www.w3.org/2003/05/soap/mep/ImmediateDestination = (not defined) http://www.w3.org/2003/05/soap/mep/ImmediateSender = (the URI of the requesting node)
Rule 3: In the normal process flow, the requesting node will initiate the communication call, and start sending the request message. The responding node will answer the call, and start receiving the request message. The responding node can start sending the response message once the first part of the request message has arrived at the responding node. The progress of the communication process should be presented by the "State" property at both nodes as illustrated in the following diagram:
"State" at Requesting Node "State" at Responding Node
"Init" | |- Initialization v "Requesting" <------------> "Init" | | |- Requesting SOAP call | - Initialization | v | <------------> "Receiving" | | | | - Receiving SOAP call v v "Sending+Receiving" <------------> "Receiving+Sending" | | |- Sending request msg | - Receiving request msg |- Receiving response msg | - Sending response msg v v "Success" "Success"
Table of Contents
Introduction to SOAP (Simple Object Access Protocol)
SOAP Message Transmission and Processing
►SOAP MEP (Message Exchange Patterns)
What Are SOAP Message Exchange Patterns
►Request-Response Message Exchange Pattern
Response Message Exchange Pattern
PHP SOAP Extension Client Programs
PHP SOAP Extension Server Programs
PHP SOAP Web Service Example - getTemp
Perl SOAP::Lite - SOAP Server-Client Communication Module
Perl Socket Test Program for HTTP and SOAP
Perl SOAP::Lite for NumberToWords SOAP 1.1 Web Service
Perl SOAP::Lite for SOAP 1.2 Web Services
Java Socket and HttpURLConnection for SOAP
SAAJ - SOAP with Attachments API for Java
SoapUI - SOAP Web Service Testing Tool
WS-Security - SOAP Message Security Extension
WS-Security X.509 Certificate Token
Perl SOAP::Lite for GetSpeech SOAP 1.1 Web Service
Perl SOAP::Lite 0.710 for SOAP 1.2 Web Services
Perl SOAP::Lite 0.710 for WSDL