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

Creating and managing SOAP message headers

Depending on the requirements of the Web service, you can work with SOAP headers in several different ways. Three basic use cases that a Web service might require for handling SOAP headers in a client application include:
1. Re-using a SOAP header for a response message that you must return unchanged in a subsequent request message
2. Re-using a SOAP header for a response message that you must return in a subsequent request message, but modified with additional or updated header entries
3. Building a unique SOAP header from scratch to provide as output from the request header handler
As described previously (see SOAP header object model), ABL represents a SOAP message header as:
*One SOAP header object
*One SOAP header-entryref object to access each SOAP header entry
*One X-noderef object to access a selected SOAP header entry as a DOM subtree, thus modeling the underlying XML of the header entry for access by ABL one node at a time
Depending on the situation, you might need to work only at the level of the SOAP header object with no need to inspect the contents, or you might need to access individual SOAP header entries and their individual XML elements.
Thus, the following sections describe examples of each of the three basic use cases presented in this section that you are most likely to encounter when managing SOAP headers as part of Web service access:
*Reusing an unchanged SOAP response header
*Modifying a reused SOAP response header
*Using a client-created SOAP request header
Note: All of these examples are based on a fictitious Web service (HeaderExample), using code that has been run against a working version of the Web service. In the code examples, listed steps refer to the numbers in comments, such as /*2b*/ or /*9*/.
* Reusing an unchanged SOAP response header
* Modifying a reused SOAP response header
* Using a client-created SOAP request header