We have recently moved from an online hosting provider to a local server and we are currently trying to set up a .net website with web services and are having difficulties.
We have two websites running on IIS (in Windows Server 2003) - one that is the actual website where we gain input from the user and one which is running the web services where we talk to the database / deal with logic etc...
At the moment we can display the main website page but as soon as it accesses the web services it receives the following 404 error:
The request failed with HTTP status 404: Not Found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Net.WebException: The request failed with HTTP status 404: Not Found.
Source Error:
Line 1120: >[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://localhost:58605/Dev_GetVersion", RequestNamespace="http://localhost:58605", ResponseNamespace="http://localhost:58605", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] Line 1121: public string Dev_GetVersion() { Line 1122: object[] results = this.Invoke("Dev_GetVersion", new object[0]); Line 1123: return ((string)(results[0])); Line 1124: }
Source File: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\b0534295\1f56ee4c\App_WebReferences.mjxicnrr.0.cs Line: 1122
Stack Trace:
[WebException: The request failed with HTTP status 404: Not Found.] System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +431289 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +204 IPASWebServices.AccountManagementServices.Dev_GetVersion() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\b0534295\1f56ee4c\App_WebReferences.mjxicnrr.0.cs:1122 MasterPage.displayVersionDetails() in c:\www_ipas\MasterPage.master.cs:46 MasterPage.Page_Load(Object sender, EventArgs e) in c:\www_ipas\MasterPage.master.cs:28 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Control.LoadRecursive() +141 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Version Information: Microsoft .NET Framework Version:2.0.50727.3082; ASP.NET Version:2.0.50727.3082
I see it's trying to access the web server and then the method ("http://localhost:58605/Dev_GetVersion") but it is leaving out the actual web service name. (It should be "http://localhost:58605/AccountManagementServices.asmx?op=Dev_GetVersion").
Any idea why it does this? It works perfectly fine on the online web hosting and on the development computer, just not in this new environment.