Итак, у меня есть приложение для форм Windows, которое загружает форму infopath (.xml) из библиотеки sharepoint и выполняет с ней некоторую обработку. Я создал exe из него, и я просто предоставляю URL библиотеки sharepoint через cmd, и он вытягивает форму.
У меня также есть веб-сервис, который работает на сервере IIS, который вызывает exe-файл и отображает информацию для определенных пользователей. Теперь проблема заключается в том, что когда я вызываю exe из тогдашнего веб-сервиса, он продолжает запрашивать приглашение для входа в систему. Поэтому я решил, что веб-служба должна работать как системная учетная запись, и я предоставил учетные данные несколькими способами
Запрос WebRequest = WebRequest.Create (sharepoint_url);
request.Credentials = CredentialCache.DefaultNetworkCredentials;
или же
request.Credentials = new NetworkCredential ("", "");
Я также пытался System.Net.CredentialCache mycache = new System.Net.CredentialCache ();
mycache.Add (formUrlName, "Basic", новый System.Net.NetworkCredential ("", "")); а также
request.Credentials = mycache;
Но все время я получаю исключение ... Infopath не может открыть эту форму ... подпись в этой форме не от доверенного издателя.
Затем я попытался загрузить свой проект вместе с веб-сервисом и создать новую форму (Form form2 = new Form ()), но сначала выполнил процедуру аутентификации. Теперь я получаю http 401 несанкционированную ошибку.
(я использую FormControl.Open (url), чтобы открыть форму из библиотеки sharepoint)
Что я делаю не так?
UPDATE:
Я проверил с администратором библиотеки sharepoint ... очевидно, учетные данные вообще не принимаются. Я не знаю, были ли они отправлены неправильно или sharepoint просто сбрасывает учетные данные и не принимает их.