In reviewing the WSDL 1.1 standard, I encountered a segment that describes the request-response operation as an abstract concept. The specification notes that the actual message delivery is determined by the specific binding used; this could mean messages are exchanged in a single HTTP interaction or through two separate HTTP communications.
Could someone provide a clear example that demonstrates this distinction? I appreciate any help in clarifying this topic.
i’ve seen this firsthand: with a JMS binding, the request was sent separately and the responce came later, unlike soap over http where both happen at once. the setup really depends on how you want to handle timing and errors
Working extensively with web services, I can say that treating the operation as abstract in WSDL clarifies that the specification doesn’t mandate how messages should be delivered. In one approach, the HTTP device may encapsulate the entire exchange in a single network call, meaning that the request and its response are contained in one interaction. Conversely, another binding can split the communication into two distinct events. This flexibility has been critical in my projects, especially when dealing with varying network conditions and reliability concerns, allowing tailored implementations for specific use cases.
The abstract nature of request-response in WSDL 1.1 often means that the binding determines if the transaction is truly synchronous or if it is split into two communication steps. In one scenario I worked with, an operation was implemented using a SOAP over HTTP binding where the request and response were sent in a single HTTP transaction, thus making error handling straightforward. However, in another project using UDP-based transport, the operation was split: the request was sent asynchronously, and the response was delivered later through a separate notification channel, requiring more complex tracking and management.