В настоящее время у меня есть приложение ASP.net 4.0, в котором я сделал веб-ссылку на сервер MOSS 2007. Когда я получаю доступ к любым методам lists.asmx из корневого приложения, все работает нормально. Однако, если я пытаюсь изменить URL-адрес службы в коде C # на подпапки list.asmx, а затем получить доступ к методу any, я получу ошибку 404. Действительно странная вещь, если я возьму URL-адрес, на который я его поменял, и подключу его вручную в IE, и запустю его, служба загрузится нормально (предоставив мне список всех доступных методов, как и ожидалось.)
Вот краткое изложение моего кода, который я использую:
Это работает:
ListsService.Lists m_listService =
ICredentials m_credentials = CredentialCache.DefaultCredentials;
m_listService.Credentials = m_credentials;
// No change to URL, defaults to 'http://mosstest/SiteDirectory/RootApp/SubApp/_vti_bin/lists.asmx'
XmlNode listColl = m_listService.GetListCollection(); // Works fine, gives me collection of lists in the root folder.
Это не работает:
ListsService.Lists m_listService =
ICredentials m_credentials = CredentialCache.DefaultCredentials;
m_listService.Credentials = m_credentials;
m_listService.Url = "http://mosstest/SiteDirectory/RootApp/SubApp/Subfolder1/_vti_bin/lists.asmx";
XmlNode listColl = m_listService.GetListCollection(); // Throws a 404 Not found error.
Кто-нибудь еще сталкивался с чем-то подобным?