I am having issue with an ASP.NET web application hosted one server trying to consume an web service hosted on another server. When I browse to a page consuming the web service, I get the following error:
Server was unable to process request. ---> Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Here is the IIS log entry when the the web application tries to consume the web service. (i removed all of the server specific information)
2010-12-08 21:19:57 POST /WebServices/MyWebService.asmx - 80 - HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.3615) - - 500 0 0 765 675 15015
When we move the web service to the same server as the web application, even if the web service is hosted under a different domain, it will work as expected. I am also able to browse to the web service on the other server using Internet Explorer without an issue.
Both the web application and web service is using the .NET 3.5 framework and is hosted in IIS 6.0 on a Windows Server 2003 SP2.
If anyone has experienced this issue, how were you able to resolve it.
Is it an actual timeout issue, or a config issue? If it loads very quickly on the local machine then it's probably a config issue. Any chance that the other server is enough slower than it really is a timeout?
Do you know for sure that the web service on the other server works correctly?
Try testing at least the URL to the web service from the web server itself, just using a web browser. That will confirm DNS and network connectivity and that you have access through the firewall from the one server to the other.
It's likely a configuration issue. You might get lucky and find a .config file in the same directory as the web service which could have a connection string that may well be pointed at localhost.
If you do find a .config file, look for the
<connectionStrings>
node.