Recently, a client running Siebel 8.1.1.4 had developed a complex report. If the report were run for a small-to-medium set of data (controlled by querying the data in the user interface (UI)), the report would complete successfully. However, if the report were run for the entire set of data, the report would fail after a couple of minutes.
From the XMLPReportServer log file, we could see that the outbound web service (PublicReportService) call was made to Business Intelligence Publisher (BIP) to process the report at BIP server side, and then there was no response from BIP for more than two minutes. Since it crossed the default HTTPSleepTime of two minutes, the report failed with the error “SBL-EAI-04311`: Operation ‘<?>’ is expecting a response but no response was received.”
The solution in the current version of Siebel would be to increase the component parameter, HTTPSleep Time, to a larger value; however, in versions of Siebel 8.1.1.9 and earlier, this component parameter was not able to be modified via the UI.
In earlier versions of Siebel, the solution would be to amend the “EAI HTTP Transport” business service using Siebel Tools. Here’s how:
Add code to the Service_PreInvokeMethod method to set the HTTPSleepTime parameter. For example:
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{
// Increase the sleep time. 10 minutes
Inputs.SetProperty(“HTTPSleepTime”, “600000”);
// continue operation to all method calls.
return (ContinueOperation);
}
Compile this code into the SRF, restart the Siebel Services, regenerate the browser script, restart web services, and the problem will be been fixed.