- From: Henrik Frystyk Nielsen <henrikn@microsoft.com>
- Date: Tue, 5 Nov 2002 21:12:56 -0800
- To: <xml-dist-app@w3.org>, <noah_mendelsohn@us.ibm.com>
I volunteered to assist on an action item for clarifying two points: 1) Whether the two message exchange patterns we define are between immediate SOAP nodes 2) The relationship between these two MEPs and the RPC convention and the HTTP binding respectively Here is a first rough proposal for addressing both. Current Situation ----------------- Currently, the "SOAP Request-Response Message Exchange Pattern" is described [1] as "The Request-Response MEP defines a pattern for the exchange of two messages between two adjacent SOAP nodes along a SOAP message path. One message is exchanged in each direction between a requesting SOAP node and a responding SOAP node...." Similarly, the "SOAP Response Message Exchange Pattern" is described [2] as "The SOAP Response MEP defines a pattern for the exchange of a non-SOAP message acting as a request followed by a SOAP message acting as a response. In the absence of errors or faults, this message exchange pattern consists of two messages, only one of which is a SOAP envelope...." That is, one talks about the message path whereas the other one doesn't. My impression is that they should be consistent in the "scope" of the message path. The RPC convention mentions that it uses the two MEPs defined by SOAP 1.2 but that others are possible, from [4]: "The SOAP RPC Representation employs the 6.2 SOAP Request-Response Message Exchange Pattern and 6.3 SOAP Response Message Exchange Pattern. Use of the SOAP RPC Representation with other MEPs MAY be possible, but is beyond the scope of this specification." The HTTP binding is also mentioned to use both of the MEPs, from [3]: "An implementation of the SOAP HTTP Binding MUST support the following message exchange patterns (MEPs): * "http://www.w3.org/2002/06/soap/mep/request-response/" (see 6.2 SOAP Request-Response Message Exchange Pattern) * "http://www.w3.org/2002/06/soap/mep/soap-response/" (see 6.3 SOAP Response Message Exchange Pattern)" and also mentions how other MEPs can be supported by adding other bindings, from [5] "The SOAP version 1.2 specification does not preclude development of other bindings to HTTP or bindings to other protocols, but communication with nodes using such other bindings is not a goal. Note that other bindings of SOAP to HTTP MAY be written to provide support for SOAP Message exchange patterns other than 6.2 SOAP Request-Response Message Exchange Pattern or the 6.3 SOAP Response Message Exchange Pattern." Proposal -------- Overall, I think the current situation is close to being right with the exception of the inconsistency between the scope of the two MEPs. In particular, it is important that both the HTTP binding and the RPC convention provides text for how to support additional MEPs. However, I think the paragraphs describing the MEPs can be made more consistent. Here is a proposal for doing so: A) Clarify the paragraph describing the "SOAP Request-Response Message Exchange Pattern" [1] as follows: "The SOAP Request-Response MEP defines a pattern for the exchange of a SOAP message acting as a request followed by a SOAP message acting as a response. The MEP does not support the presence of SOAP intermediaries in the message path. In the absence of failure in the underlying protocol, this MEP consists of exactly two SOAP messages." B) Clarify the paragraph describing the "SOAP Response Message Exchange Pattern" [2] as follows: "The SOAP Response MEP defines a pattern for the exchange of a non-SOAP message acting as a request followed by a SOAP message acting as a response. The MEP does not support the presence of SOAP intermediaries in the message path. In the absence of failure in the underlying protocol, this MEP consists of exactly two messages, only one of which is a SOAP message." Comments? Henrik Frystyk Nielsen mailto:henrikn@microsoft.com [1] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#bindinfdesc [2] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#bindinfdesc2 [3] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#http-suptransme p [4] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#soapforrpc [5] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#httpoptionality
Received on Wednesday, 6 November 2002 00:13:28 UTC