AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2009, 15:56   #7  
marbatov is offline
marbatov
Участник
 
18 / 10 (1) +
Регистрация: 29.09.2009
Проблема решилась - появилась новая
Получилось вызвать самые простые веб-матоды моего веб-сервиса способом, подсказанным a33ik.

Возникла следующая проблема:
веб-методы, в которых не используется доступ к структуре шарапойнт отрабатывает хорошо
X++:
        [WebMethod]
        public string HelloWorld1(string sitePath, string libName, string folderPath, string fileName, byte[] fileContents)
        {
            SPSite site = new SPSite(sitePath);
            SPWeb web = site.OpenWeb();
            return sitePath;
        }
При небольшом изменении (см. пример ниже) - кидается ошибка
"The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'."

X++:
        [WebMethod]
        public string HelloWorld1(string sitePath, string libName, string folderPath, string fileName, byte[] fileContents)
        {
            SPSite site = new SPSite(sitePath);
            SPWeb web = site.OpenWeb();
            string libRoot = web.Lists[libName].RootFolder.ServerRelativeUrl.ToString();
            return sitePath;
        }
Приложение sharepoint работает под пользователем domen\user, который является администратором на компьютере, в sharepoint и crm.
ОС: windows 2003, IIS 6.0

Доступ к вебслужбе осуществляется так:

X++:
                BasicHttpBinding bind = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
                EndpointAddress endpoint = new EndpointAddress("http://server:6001/_vti_bin/Files.asmx");
                bind.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
                bind.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm;
                bind.SendTimeout = new TimeSpan(0, 1, 0);
                bind.ReceiveTimeout = new TimeSpan(0,10,0);
                bind.OpenTimeout = new TimeSpan(0, 1, 0);
                bind.CloseTimeout = new TimeSpan(0, 1, 0);
                bind.MaxBufferPoolSize = 5524288;
                bind.MaxBufferSize = 565536;
                bind.MaxReceivedMessageSize = 565536;

                SharepointConnector.FilesSoapClient connector = new SharepointConnector.FilesSoapClient(bind, endpoint);
                connector.ClientCredentials.UserName.UserName = @"domen\user";
                connector.ClientCredentials.UserName.Password = "****";
                connector.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

               [...]
                // Тут валится
                connector.HelloWorld1("http://server:6001", "Библиотека документов", "/Папка1/Папка2/Папка3", "qwe.txt", buffer);
В консольном же приложении все отрабатывает хорошо.
Помогите пожалуйста!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сообщения, на которые регистрируется плагин Dark_Angel Dynamics CRM: Разработка 2 05.08.2009 14:38
Плагин на обновление slivka_83 Dynamics CRM: Разработка 1 20.07.2009 17:10
Плагин для сущности "встреча" Tony Green Dynamics CRM: Разработка 5 19.05.2009 11:56
Тип сущности, использующей плагин Казарин Александр Dynamics CRM: Разработка 2 02.04.2009 20:29
Как зарегить плагин на смену State? Alir Dynamics CRM: Разработка 8 24.11.2008 12:06

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:17.