Я пытаюсь внести некоторые улучшения в производственное веб-приложение. После небольшого модульного тестирования на моей машине для разработки WinXP IIS 5.1 все работает на моем локальном хосте, поэтому я использовал диалоговое окно ОПУБЛИКОВАНИЯ Visual Studio 2008 на своем ПК для разработки, чтобы отправить следующие проекты на промежуточный сервер:
- основное веб-приложение
- "основной" веб-сервис (домашняя страница пытается вызвать этот WS)
- «вторичный» веб-сервис (пока не проблема, поскольку домашняя страница не вызывает этот WS)
При попытке перейти на домашнюю страницу веб-приложения, набрав это в своем браузере, я получаю следующее: myUglyURL
Server Error in '/zVersion2' Application.
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:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
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
ProxyZipeeeService.WSZipeee.Zipeee.GetMessageByType(Int32 iMsgType) in C:\Documents and Settings\johna\My Documents\Visual Studio 2008\Projects\ProxyZipeeeService\ProxyZipeeeService\Web References\WSZipeee\Reference.vb:2168
Zipeee.frmZipeee.LoadMessage() in C:\Documents and Settings\johna\My Documents\Visual Studio 2008\Projects\Zipeee\frmZipeee.aspx.vb:43
Zipeee.frmZipeee.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\johna\My Documents\Visual Studio 2008\Projects\Zipeee\frmZipeee.aspx.vb:33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3607; ASP.NET версия: 2.0.50727.3082
Вот немного соответствующего исходного кода:
Public wsZipeee As New ProxyZipeeeService.WSZipeee.Zipeee
Dim dsStandardMsg As DataSet
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
LoadMessage()
End If
End Sub
Private Sub LoadMessage()
Dim iCnt As Integer
Dim iValue As Integer
dsStandardMsg = wsZipeee.GetMessageByType(BizConstants.MsgType.Standard)
End Sub
Я подозреваю, что я неправильно настроил на промежуточном сервере. Промежуточным сервером является Win Server 2003 ServicePack 2 с IIS 6.0. Когда я опубликовал основной сайт и 2 веб-сервиса на промежуточном сервере под названием MOJITO, я создал физические каталоги для каждого на диске D. Затем, используя INETMGR, я настроил следующие виртуальные каталоги:
- zVersion2
- zVersion2wsSQL
- zVersion2wsEmergency
Все вышеперечисленное настроено на использование нового пула приложений, который я настроил и назвал zVersion2aspNet20 . Веб-сайт по умолчанию для этой машины MOJITO настроен на использование ASP.NET 1.1, а IP-адрес установлен на (все неназначенные) . Рабочие версии последних двух веб-сервисов работают на компьютере MOJITO (соответственно с именами ZipeeeService и EmergencyService).
Могут ли мои промежуточные версии вышеуказанных веб-сервисов (названные zVersion2wsSQL и zVersion2wsEmergency соответственно) сосуществовать на одном веб-сервере с одним и тем же IP-адресом?
Обратите внимание, что когда я тестирую веб-сервис zVersion2wsSQL независимо (от правого клика мышью INETMGR и нажимаю кнопку Обзор), он работает как положено (то есть представляет все методы веб-сервиса), как этот фрагмент:
- GetMessageByType
MessageName = "Get_x0020_Message_x0020_By_x0020_Type"
Я могу протестировать этот веб-метод, щелкнув по нему, и он отображает диалоговое окно «Тест» (потому что он принимает простой тип данных, и я вызываю его на локальном хосте (т. Е. MOJITO):
**Get Message By Type**
**Test**
To test the operation using the HTTP POST protocol, click the 'Invoke' button.
Parameter Value
iMsgType: _______ [INVOKE button]
SOAP 1.1 ....etc.
Я боюсь, что, возможно, я перепутал слишком много информации, поэтому я остановлюсь, но я надеюсь, что кто-то может мне помочь, так как я не могу понять, почему этот запрос приводит к "не найден". Благодарю.