Я получаю сообщение об ошибке при попытке вызвать веб-сервисы SharePoint на одной из наших платформ. Для начала у нас есть серверы SharePoint для разработки (DEV), тестирования (QA) и производства (PROD). Серверы QA и PROD практически идентичны. У нас есть веб-сервис ASP.NET, который выступает в качестве отдельного приложения для каждого из них. Наши формы ввода данных обращаются к веб-службам для вставки / обновления в базу данных SQL, а в некоторых случаях обращаются к некоторым веб-службам SharePoints (lists, dws).
У нас возникают проблемы с вызовом веб-сервисов SharePoint по PROD из наших веб-сервисов, однако у нас нет проблем с QA (или DEV). В нашем коде веб-службы есть веб-ссылка на веб-службы SharePoint (списки и dws). Мы пытаемся вызвать эти веб-службы для создания элементов списка / папок, когда новая запись сделана через одну из наших форм. В QA нет проблем при создании списка элементов / папок. Форма заполнена, вызывает наши веб-сервисы - которые вызывают веб-сервисы SharePoint, и создается элемент / папка списка.
В PROD мы получаем следующую ошибку при попытке вызова веб-служб SharePoint:
Невозможно подключиться к удаленному серверу
в System.Net.HttpWebRequest.GetRequestStream ()
в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (String methodName, Object [] параметры)
...
Однако, чтобы было еще интереснее, если я вызываю веб-службы PROD SharePoint напрямую со своего персонального компьютера, у меня не возникает проблем при создании элементов списка / папок. Проблема возникает только тогда, когда наша веб-служба пытается вызвать веб-службы PROD SharePoint. Мы просмотрели много разных файлов web.config в поисках различий в QA и PROD и еще ничего не нашли.
Если у кого-нибудь есть указатели, они будут очень признательны. Спасибо.
Обновление: Я только что попытался провести рефакторинг вышеупомянутого метода для использования API объектной модели SharePoint, и я получаю несанкционированную ошибку. При использовании API объектной модели учетные данные, по-видимому, не передаются должным образом, поскольку он пытается использовать учетные данные сервера MOSS. Есть ли способ сказать ему, какие учетные данные использовать, как вы делаете с API веб-службы?
docLibList.Credentials = System.Net.CredentialCache.DefaultCredentials;
Спасибо.