Use Case #2, sync req-resp over the same connection

[In fulfillment of AI from last week]

* Description

This case involves a synchronous request/response operation which is
implemented by using a transport binding's native back-channel.

* Can we achieve with current specs?

Yes.  This is the most common case in Web Services to date.  Example:

...
<wsdl:interface name="Ticker">
 <wsdl:operation name="getStockQuote">
  <wsdl:input element="tns:getStockQuote"/>
  <wsdl:output element="tns:quote"/>
 </wsdl:operation>
</wsdl:interface>
<wsdl:binding name="TickerBinding"
              interface="tns:Ticker"
 
wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
 <wsdl:operation ref="getStockQuote"
 
wsoap:mep="http://www.w3.org/2003/05/soap/mep/request-response"/>
</wsdl:binding>
...

This would result in the standard "WSDL request -> HTTP request, WSDL
response -> HTTP response" pattern.  Note that any other SOAP binding
might be substituted for the
http://www.w3.org/2003/05/soap/bindings/HTTP URI, as long as that
binding supported the SOAP request/response MEP.  For example, I might
have written an email binding which uses the email Message-ID: and
Reply-To: headers in order to do correlation at the binding level.
Despite the "asynchrony" at the actual transport level (SMTP out, POP3
or IMAP in), the binding surfaces the request-response MEP as if it were
synchronous.

* Minimal change necessary to support?

No changes necessary.

* Ideal solution with no restrictions on changes?

Binding a WSDL in/out to any underlying protocol which supports req/resp
directly is about as simple as it could be already.

--Glen

Received on Tuesday, 15 February 2005 16:37:07 UTC