Integration Server 10.15 | Web Services Developer’s Guide | Working with Web Service Connectors | Setting Transport Headers for HTTP/S
 
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.