The specification is accompanied by a WSDL document that must be used when building web applications complying to this standard. The specification on the one hand consists of WSDL fragments that basically are XML Schema definitions which specify various SOAP messages. One the other hand it includes specific architecture definitions that describe special issues like subscription, buffering and error handling:
language=XML
language=XML
Subscription naturally raises problems with SOAP Web Services as SOAP messages utilize the HTTP protocol for data transport. HTTP is a stateless request/response protocol and is designed for communication situations where a client fetches data from a server.31 Asynchronous data transfer with HTTP is therefore impossible by design.32
OPC XML-DA suggests a workaround to the limitations of HTTP by introducing a technique called ``polled subscription''. This way the client initiates the subscription and issues periodic refresh requests. The associated response messages will then contain all data that was updated since the last poll. As subscripted polling poses the same problems as generic polling, such as high server load and outdated values, OPC introduces a more sophisticated approach by delaying the server replies of refresh requests. This technique is described in figure 20. The left diagram depicts the simple case where the server does not delay replies. The middle and right diagram introduce server delay times.33 During the ``wait time'' the server waits for occurring data changes. If data changes occur, the server immediately sends a reply message with the updated data. This technique provides huge advantages concerning communication latency and network traffic. Further information about polled subscription can be found in [OPCXMLDA].