Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

SOAP requests or WSE requests may time out in BizTalk Server 2004 or in BizTalk Server 2006


View products that this article applies to.

Symptoms

In Microsoft BizTalk Server 2004 or in Microsoft BizTalk Server 2006, you may notice that the SOAP requests or the Web Services Enhancements (WSE) requests time out. In BizTalk Server 2004, you may also see the following messages in the Application log in Event Viewer.
Message 1
Event Type: Warning
Event Source: BizTalk Server 2004
Event Category: BizTalk Server 2004
Event ID: 5740
Computer: ComputerName
Description: The adapter "WSE" raised an error message. Details "The timeout period expired before the response message was received. To avoid this, increase the timeout on the Web client.".
Message 2
Event Type: Error
Event Source: BizTalk Server 2004
Event Category: (1)
Event ID: 5749
Computer: ComputerName
Description: A request-response for the "SOAP" adapter at receive location "http:/url/xxxx/xxxxxx.asmx" has timed out before a response could be delivered.
In BizTalk Server 2006, you may also see the following messages in the Application log in Event Viewer.
Message 1
Event Type: Error
Event Source: BizTalk Server 2006
Event Category: (1)
Event ID: 5749
Computer: ComputerName
Description: A request-response for the "SOAP" adapter at receive location "/WebServer/WebService.asmx" has timed out before a response could be delivered.
Message 2
Event Type: Error
Event Source: BizTalk Server 2006
Event Category: (1)
Event ID: 5749
Computer: ComputerName
Description: A request-response for the "WSE" adapter at receive location "/WebServer/WebService.ashx" has timed out before a response could be delivered.
Note This issue occurs when the server is under heavy load.

↑ Back to the top


Workaround

The following workarounds are meant to reduce the timeout warnings and may not eliminate the issue. We strongly suggest that you test these modifications in a nonproduction environment. To work around this issue, use one of the following workarounds.

Workaround 1

To minimize the SOAP time-outs when you call a Web service from a BizTalk Server orchestration, specify the clientconnectiontimeout property for the SOAP port as an expression. For example, run the following expression:
MyMessage(SOAP.ClientConnectionTimeout) = 300000;

Note When you set the SOAP.ClientConnectionTimeout property, you specify the value in milliseconds. The default value is 90000 (90 seconds) in a static SOAP send port. When you use dynamic send ports, the context properties for a message are set to NULL. To set this value on a dynamic SOAP send port, you must also use it together with the context properties such as BTS.Retrycount and BTS.Retryinterval.

For more information about BizTalk Server 2004 and Web services, visit the following Microsoft Developer Network (MSDN) Web sites:

Workaround 2

To minimize the time-outs when you use a SOAP send adapter or a WSE send adapter, modify the configuration settings in the Machine.config file. This workaround is called tuning the ASP.NET application performance. To do this, follow these steps:
  1. Open the Machine.config file in a text editor, such as Notepad.

    Note The Machine.config file is located in the %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ directory. %VersionNumber% is the version number of the Microsoft .NET Framework that you installed on the server.
  2. In the Machine.config file, apply the following changes to the configuration settings that are related to ASP.NET thread pool attributes :
    • Set the maxconnection setting to 12 * # of CPUs.
    • Set the maxIoThreads setting to 100.
    • Set the maxWorkerThreads setting to 100.
    • Set the minFreeThreads setting to 88 * # of CPUs.
    • Set the minLocalRequestFreeThreads setting to 76 * # of CPUs.
      Notes
      • These values are only a guideline for reducing contention. For more information about how to determine the values, see the "More information" section.
      • The value set for MaxIothreads and MaxWorkerThreads are implicitly multiplied by the number of CPUs on the server. Therefore, setting the value of maxIoThreads and maxWorkerThreads to 100 would result in a value of 400 on a server that has 4 CPUs.
      • These settings can be set whether you are running the .NET Framework 1.1 or the .NET Framework 2.0.
      • With the .NET Framework 2.0, you can set autoconfig=true to automatically configure these settings to achieve optimal performance for BizTalk Server 2006 and BizTalk Server 2006 R2. For more information about autoconfig and these settings, visit the following MSDN Web site:
For more information about tuning ASP.NET application performance and settings, visit the following MSDN Web site:

↑ Back to the top


More information

There are several options for tuning .NET Framework applications, most of which involve tuning the settings in the Machine.config file. This configuration file has many sections. However, the httpRuntime section is most important to performance. The httpRuntime element configures the ASP.NET runtime settings. You can specify the following attributes at the computer, site, application, and subdirectory levels:
  • ExecutionTimeout
  • minLocalRequestFreeThreads
  • appRequestQueueLimit
The default settings from the Machine.config file are as follows.
<httpRuntime executionTimeout="90" maxRequestLength="4096" 
             useFullyQualifiedRedirectUrl="false" minFreeThreads="8" 
             minLocalRequestFreeThreads="4" appRequestQueueLimit="100" 
             enableVersionHeader="true"/>
For a detailed description of each attribute, visit the following MSDN Web site: For more information about performance related issues in BizTalk Server, click the following article number to view the article in the Microsoft Knowledge Base:
821268 Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications
900455 The number of running orchestrations increases and then remains constant after you reach the thread pool limit, and orchestration execution time may increase in BizTalk Server
886966 FIX: Slow performance on startup when you process a high volume of messages through the SOAP adapter in BizTalk Server
For more information about the connectionManagement element setting, visit the following MSDN Web site: For more information about the processModel element setting, visit the following MSDN Web site:

↑ Back to the top


Keywords: kberrmsg, kbtshoot, kbprb, KB952567

↑ Back to the top

Article Info
Article ID : 952567
Revision : 1
Created on : 9/23/2008
Published on : 9/23/2008
Exists online : False
Views : 487