Настройка веб-сервисов в Windows Server 2003 - PullRequest
0 голосов
/ 30 сентября 2010

Мы недавно перешли от провайдера онлайн-хостинга к локальному серверу, и в настоящее время мы пытаемся настроить веб-сайт .net с веб-службами и испытываем трудности.

У нас есть два веб-сайта, работающих на IIS (в Windows Server 2003) - тот, который является реальным веб-сайтом, на котором мы получаем информацию от пользователя, и тот, который запускает веб-службы, где мы общаемся с базой данных / имеем дело с логикой и т. д. *

В настоящий моментмы можем отобразить главную страницу веб-сайта, но, как только он обращается к веб-службам, он получает следующую ошибку 404:

Запрос не выполнен с состоянием HTTP 404: не найдено.

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.Net.WebException: запрос не выполнен с состоянием HTTP 404. Не найдено.

Ошибка источника:

Строка 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.Proracols.Srarapped.Sap] Строка 1121: открытая строка Dev_GetVersion () {Строка 1122: объект [] results = this.Invoke ("Dev_GetVersion", новый объект [0]); Строка 1123: return ((строка) (результаты [0])); Строка1124:}

Исходный файл: c: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET \ root \ b0534295 \ 1f56ee4c \ App_WebReferences.mjxicnrr.0.cs Строка: 1122

Трассировка стека:

[WebException: запрос не выполнен с состоянием HTTP 404: не найдено.] System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (сообщение SoapClientMessage, ответ WebResponse, поток responseStream,логическийasyncCall) +431289 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] параметры) +204 IPASWebServices.AccountManagementServices.Dev_GetVersion () в c: \ WINDOWS \ Microsoft.NET \50 \ Framework v2 v2Файлы ASP.NET \ root \ b0534295 \ 1f56ee4c \ App_WebReferences.mjxicnrr.0.cs: 1122 MasterPage.displayVersionDetails () в c: \ www_ipas \ MasterPage.master.cs: 46 MasterPage.Page_Load (отправитель объекта, EventArgs e) в c: \ www_ipas \ MasterPage.master.cs: 28 System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Объект o, Объект t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Отправитель объекта, 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


Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3082;ASP.NET версия: 2.0.50727.3082

Я вижу, что он пытается получить доступ к веб-серверу, а затем метод ("http://localhost:58605/Dev_GetVersion"), но он опускает фактическое имя веб-службы. (Это должно быть"http://localhost:58605/AccountManagementServices.asmx?op=Dev_GetVersion").

Есть идеи, почему он это делает? Он отлично работает на веб-хостинге онлайн и на компьютере разработчика, но не в этой новой среде.

1 Ответ

0 голосов
/ 30 сентября 2010

Убедитесь, что приложение работает как учетная запись с соответствующими правами в IIS.Если вы не уверены, убедитесь, что учетная запись, в которой работает приложение, находится в группе IIS_WPG.

Подробнее о правильной настройке идентификатора пула приложений IIS: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/12a3d96c-65ea-4210-96ad-86a801f6a88c.mspx?mfr=true

...