ISDEV-DS-712-200809261webMethodsIntegrationServerandwebMethodsDeveloperDocumentationSupplementVersion7.1.2ContentsIntroduction.................................................................1BuildingSoapHeaderHandlers..................................................1SettingUpaHeaderHandler....................................................3Example:MeasuringElapsedTimewithaConsumerHandler..........................4AboutSOAPHeadersinthePipeline..............................................5ServicesforCreatingandRegisteringHeaderHandlers...............................8ServerConfigurationParameters.................................................24IntroductionwebMethods Integration Server 7.1.2 and webMethods Developer 7.1.2 provide a new feature that simplifies the task of building SOAP header handlers for Integration Server‐based Web services. webMethods Integration Server 7.1.2 also provides new server configuration parameters you can specify in the server configuration file.For more information about the fixes and enhancements included in webMethods Integration Server 7.1.2 and webMethods Developer 7.1.2, see the Enhancements and Fixes documents located on webMethods Advantage.BuildingSoapHeaderHandlersThe service handler feature simplifies the task of building SOAP header handlers for Integration Server‐based Web services. Instead of writing Java code to implement JAX‐RPC handlers, you can now create and customize a header handler using service handlers and assign it to a Web Services Descriptor (WSD) using a set of Integration Server public services.Note:The information in this section supplements the contents of the Web Services Developer’s Guide.Note:The public services used to register Java JAX‐RPC handlers with custom code remain available, but are deprecated starting with this release. SoftwareAG recommends converting your JAX‐RPC handlers to service handlers, using the information in this supplement, to ensure their compatibility and maintainability with current webMethods products. See the webMethods Upgrade Guide for more information.webMethodsIntegrationServerandwebMethodsDeveloperVersion7.1.2ISDEV-DS-712-200809262The new service handler feature provides the following:A single, unified header handler that you can implement using flow or Java services.Handler public services for administrative and run‐time tasks.UnifiedHeaderHandlerYou implement the business logic for service handlers through flow or Java services that you create to:Handle a requestHandle a responseHandle a faultThe implementations you build will correspond to the JAX‐RPC handleRequest, handleResponse, and handleFault methods. Note that you do not need to write implementations for all three services to include in the header handler (for example, your header handler can include implementations for handling a request and handling a fault, but not handling a response).At handler registration time, Integration Server accepts the name(s) of the services implementing the business logic listed above. At run‐time, Integration Server invokes the appropriate service or services during handler processing.ServiceHandlerPublicServicesWhen building consumer and provider header handlers, you use the handler public services to define the services that perform the request, response, and fault handling that occurs at invocation time. The pub.soap.handler folder, which is part of the WmPublic package, contains:Administrative services that cover registration (and unregistration) of the handlers.Run‐time services that allow you to access and manipulate the SOAP body or header elements through the message context. Using the run‐time services you can:Add and remove header elementsSet and get a SOAP messageSet and get property valuesDelete a propertyFor more information about the built‐in services for writing service header handlers, see “Services for Creating and Registering Header Handlers” on page8.webMethodsIntegrationServerandwebMethodsDeveloperVersion7.1.2ISDEV-DS-712-200809263SettingUpaHeaderHandlerTo create and implement a header handler, you need to build the services for handling a request, handling a response, and handling a fault. You then need to register the combination of those services as a service‐based header handler.After you have built the services and registered the handler, you can assign the new header handler to the existing WSD in which it will operate.BuildingtheServicesIn Developer, build the services to handle your request, response, and fault implementations, using the new handler run‐time public services. A sample header handler request implementation (consumer.consumerHandler:handleRequest)for a consumer handler, with a view of the folder contents, is shown below:Note:The information in this section supplements the contents of the Web Services Developer’s Guide.webMethodsIntegrationServerandwebMethodsDeveloperVersion7.1.2ISDEV-DS-712-200809264RegisteringtheHandlerRegister the handler as either a consume