Setting Transport Headers for HTTP/S
When creating a service that executes a web service connector, you can pass transport header information directly into the web service connector by passing name/value pairs in to the transportHeaders input parameter. When creating the SOAP request, Integration Server adds a transport header for each name/value pair.
Keep the following information in mind when setting transportHeaders for an HTTP/S request:
Specify a key in
transportHeaders for each header field that you want to set, where the key’s name represents the name of the header field and the key’s value represents the value of that header field.
The names and values supplied to
transportHeaders must be of type String. If a transport header has a name or value that is not of type String, the header will not be included in the message.
For any header name/value pair supplied in
transportHeaders for an HTTP/S request,
Integration Server simply passes through the supplied headers and does not perform any validation for the headers beyond verifying that the name and value are of type String.
If you do not set
transportHeaders or do not specify the following header fields in
transportHeaders,
Integration Server adds and specifies values for the following standard header fields:
Accept Authorization Connection Content-Type Host SOAPAction (Added when
soapProtocol is SOAP 1.1 only)
User-Agent Note:
Pass in the preceding headers to transportHeaders only if you are an experienced web service developer. Incorrect header values can result in failure of the request.
If you specify
Authorization in
transportHeaders, the values specified for the
auth/transport document and its children will not be used in the
Authorization header.
If you specify
Content-Type in
transportHeaders and the SOAP Protocol is SOAP 1.2,
Integration Server ignores the value of
soapAction obtained from the WSDL used to create the web service connector.
If you specify the
SOAPAction header in
transportHeaders and the SOAP Protocol is SOAP 1.1,
Integration Server ignores the value of
SOAPAction obtained from the WSDL used to create the web service connector.
If you specify the
SOAPAction header but do not set a value for it and the web service descriptor does not run in pre-8.2 compatibility mode (the
Pre-8.2 compatibility mode property is set to false),
Integration Server ignores the
SOAPAction header.
If MTOM processing converts any portion of the SOAP request to an MTOM/XOP attachment, it will overwrite the
Content-Type value supplied to the
transportHeaders input.
Integration Server sets the value of
Content-Length automatically and overwrites any value passed in to
transportHeaders.
Integration Server automatically adds the
Cookie header to the HTTP header and supplies any cookies established between
Integration Server and the HTTP server with which it is interacting. If you supply the
Cookie header to
transportHeaders,
Integration Server prepends the values you supply to the already established
Cookie header value.
The following headers are considered to be standard and require the specified capitalization:
Accept,
Authorization,
Connection,
Content-Type,
Cookie,
Host,
SOAPAction,
User-Agent.
Important:
Using capitalization other than that which is specified results in undefined behavior.
Important:
Supplying duplicate entries for any standard header results in undefined behavior.