Try OpenEdge Now
skip to main content
Web Services
Creating ABL Clients to Consume OpenEdge SOAP Web Services : Handling SOAP Message Headers in ABL : SOAP message headers: an overview

SOAP message headers: an overview

A SOAP request message or a SOAP response message can contain an optional <Header> element that passes non-parameter information about the Web service or the operation that generates the message. This header can contain one or more header entries. A header entry contains information that is necessary to properly invoke some or all of the Web service operations.
A header returned by the Web service in a SOAP response message is a SOAP response header. A header sent in a SOAP request message by invoking a Web service operation is a SOAP request header. There is no difference in the syntax for the two types. However, keeping them conceptually separate helps to clarify how you can manage them. The content of a SOAP request header for a given operation might vary from the content of a SOAP response header for that same operation.
Why are headers necessary if operations already pass data as parameters? Headers can simplify managing data in Web services that require context management, such as user authentication, during the course of Web service interaction. Session-managed OpenEdge Web services use this method for maintaining context. With the use of headers, the mainline of a client application need have no concern about maintaining these states. The Web service provider typically provides specific information about the content of headers and how they must be handled by client applications. The client can then provide special header handlers, which are callback procedures that manage the content of these headers for the Web service application.
* SOAP header structure
* SOAP header object model
* Accessing SOAP header entries
* Specifying SOAP header callback procedures at run time
* Using the SET-CALLBACK-PROCEDURE( ) method