Web Services Client for C++ supports the use of handlers, which you can use to customize or extend message components. Handlers are invoked either just before a request message is transmitted or just after a response message has been received and can be either service-specific or global.
Web Services Client for C++ supports two basic types of handler:
From a coding perspective, there are no differences between service and global handlers. The only distinction is where they are specified within the WSDD file. A service handler is associated with a particular service/port combination and is only invoked when a SOAP message with the appropriate destination has been called. A global handler is always invoked, regardless of the message destination. The handler invocation rules are provided by the contents of the WSDD file, and are described in Handler definitions in WSDD file.
The pivot point is the name given to the point where a message is either written on to or read from the wire. The term wire refers to all the underlying components that are responsible for physically sending or receiving a message on the web. Any handler that works on the request message to be transmitted is a pre-pivot handler and conversely, any handler that works on the response message after it has been received is a post-pivot handler.
When a request message is being prepared, the handlers are the last link in the message construction chain, and are invoked just before the message is transmitted, as shown in Figure 1.
When a response message is being prepared, the handlers are the first link in the message deconstruction chain, and are invoked just after the message is received, as shown in Figure 2 .