pub.flow:setResponseHeader
WmPublic. Sets a header field in the HTTP response to a calling process (such as a browser or application server) or in the JMS message that contains the SOAP response from a web service invocation.
Input Parameters
fieldName | String Name of the header field to set. |
fieldValue | String Value of the header field to set. |
Output Parameters
None.
Usage Notes
pub.flow:setResponseHeader sets a single field in the response header. To set multiple response header fields, use pub.flow:setResponseHeaders.
You can use
pub.flow:setResponse to set the Content-Type of the HTTP header field. Content-Type specifies the format of the service response. For example, to specify a JSON response, set Content-Type to application/json. For more information about content types
Integration Server supports, see
the section Accept Header Field in the webMethods Integration Server Administrator’s Guide.
Content Handlers for HTTP and FTP
Requests.Important:
If you set the value of the Set-Cookie header and include the SameSite attribute using this or the pub.flow:setResponseHeaders service, then Integration Server ignores the value of the watt.server.http.header.sameSite parameter.
The following HTTP header fields cannot be set by calling this service or by Integration Server applications:
Allow
Connection
Content-Length
WWW-Authenticate
Transfer-Encoding
Upgrade
Note:
Content-Length can be set with the pub.flow:setResponse service.
Keep the following points in mind when adding headers for a JMS message that contains a SOAP response:
You can specify custom headers.
You can set some JMS message header fields directly and set others using run-time properties specific to
Integration Server.
You can set JMSType directly. This header name is case-sensitive.
You can set the following headers indirectly using run-time properties: JMSDeliveryMode, JMSExpiration, and JMSPriority. The following table identifies these properties and indicates the JMS message header fields affected by each property.
Property Name | Description |
jms.deliveryMode | Specifies the message delivery mode for the message. Integration Server uses this value to set the JMSDeliveryMode header. |
| Value | Description |
| PERSISTENT | Indicates the request message is persistent. |
| 2 | Default. Indicates the request message is persistent. |
| NON_PERSISTENT | Indicates the request message is not persistent. |
| 1 | Indicates the request message is not persistent. |
| Note: If the jms.deliveryMode is not one of the above values, Integration Server ignores the name/value pair and uses the default value of 2. |
jms.timeToLive | Length of time, in milliseconds, that the JMS provider retains the message. A value of 0 means that the message does not expire. The JMS provider uses this value to set the JMSExpiration header in the sent JMS message. Note: If the jms.timeToLivevalue is not a valid Long, Integration Server ignores the property and uses the default value of 0. |
jms.priority | Specifies the message priority. The JMS standard defines priority levels from 0 to 9, with 0 as the lowest priority and 9 as the highest. Integration Server uses this value to set the JMSPriority header. If the jms.priority value is not a value between 0 to 9, Integration Server ignores the property and uses the default value of 4. |
You can specify the following JMS-defined properties:
JMSXGroupID
JMSXGroupSeq
If the value of JMSXGroupSeq is not an String that contains a number, Integration Server ignores the name/value pair and does not place it in the message header.
Note:
The JMSXGroupID and JMSXGroupSeq names are case-sensitive.
You can set any provider-specific property whose name starts with “JMS_” in
fieldName. Because the JMS standard reserves the prefix “JMS_<vendor_name>” for provider-specific properties,
Integration Server does not validate the name or value of this content.
Note:
The JMS provider determines which provider-specific properties to accept and include in the JMS message properties. For more information about provider-specific message properties how the JMS provider handles them, review the JMS provider documentation.
The lowercase “jms.” prefix is reserved for run-time properties used by
Integration Server. If a header starts with “jms.” and is not one of the “jms.” properties defined by
Integration Server,
Integration Server ignores the property.
The “JMSX” prefix is reserved for JMS-defined properties. If a header whose name starts with “JMSX” is passed into
fieldName and it is not named JMSXGroupID or JMSXGroupSeq,
Integration Server throws a ServiceException.
You cannot set any of the SOAP over JMS message header properties. These header names start with “SOAPJMS”.