2010-09-29 122 views
0

我们最近从一个在线托管服务提供商迁移到本地服务器,我们目前正在尝试使用Web服务建立一个.net网站并且遇到困难。在Windows Server 2003上配置Web服务

我们有两个在IIS上运行的网站(在Windows Server 2003中) - 一个是我们从用户那里获得输入的实际网站,另一个是运行Web服务的地方,我们与数据库交谈/处理逻辑等...

在我们可以显示主网站页面,但此刻只要它访问它收到以下404错误的Web服务:

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

我看到它试图访问网络服务器和然后使用方法(“http:// localhost:58605/Dev_GetVersion”),但它忽略了实际的Web服务名称。 (它应该是“http:// localhost:58605/AccountManagementServices.asmx?op = Dev_GetVersion”)。

任何想法为什么这样做?它在网络虚拟主机和开发计算机上工作得很好,只是不在这个新的环境中。

回答

0

确保该应用程序以在IIS中具有适当权限的帐户运行。如果不确定,请确保应用程序在IIS_WPG组中的运行状态正常。

这里是正确设置的IIS应用程序池标识的详细信息:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/12a3d96c-65ea-4210-96ad-86a801f6a88c.mspx?mfr=true

+0

有关设置的目的我运行的一切,“管理员”,所以这不应该(希望)是一个问题。 – Andrew 2010-09-30 04:28:14

相关问题