ibmime headers overriding default behavior
The Intelligent Broker client thread in the system generally sends a message to an endpoint that is statically configured in the thread properties. Intelligent Broker sends the messages out with preset guidelines.
In some scenarios, it is desirable for the client thread to override that default behavior. This is because it dynamically deems appropriate when sending a particular ibmime message to Intelligent Broker for forwarding to the remote endpoint. This is performed using these specific ibmime control headers.
IBEndpointURL and IBSOAPAction
These override the SOAP endpoint and the SOAPAction associated with the operation to invoke, for the client thread as configured in the thread properties. This is only for this instance of the message.
When the endpoint URL indicates the endpoint address, the SOAPAction indicates the operation on that endpoint to invoke. If the endpoint URL is changed, then the SOAPAction header must be changed as well.
Tcl example for setting the header using the ibmime API:
ibmimeheaderadd $ih "IBEndpointURL" http://SomeOtherHost:8080/abc
ibmimeheaderadd $ih "IBSOAPAction" http://somehost/someaction
IBSoapSendTimeout
Intelligent Broker sends the SOAP message to the remote endpoint. Then it waits for a preset number of seconds for a reply before returning an error ibmime message. The default is 60 seconds This is sent to the client thread (IBStatus = APP_REJECT).
The client can override this time-out for this particular message to be longer or shorter.
For example, using Tcl to set the ibmime header for a time-out of 2 minutes (120 seconds or 120000 milliseconds):
ibmimeheaderadd $ih "IBSoapSendTimeout" "120000"
The value is in milliseconds. This must be between the range of 0 and 3600000 inclusive, where 3600000 is 10 hours, and 0 is not waiting at all.