Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование веб-сервисов SharePoint 2007(3.0), Мануал по использованию встроенных wsdl 
:(
    Опции темы
Walker
Дата 11.4.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 23.10.2006

Репутация: нет
Всего: 16



Большую часть работы, обеспечивающей внутреннее взаимодействие компонентов платформы SharePoint И построенных на её базе продуктов, выполняют веб-сервисы. Cоздание/удаление/изменение сайтов/страниц/списков, управление профилями, аутентификация, 
авторизация пользователей и многое другое. Не трудно понять, что можно существенно расширить возможности решений, построенных на базе платформы SharePoint, если научиться использовать встроенные веб-сервисы.
Взаимодействие с интерфейсами встроенных веб-сервисов возможно без использования программирования. В большинстве случаев этого достаточно. Рассмотрим простой и эффективный пример. В большинстве организаций взаимодействие подразделений осуществляется за счёт служебных записок и заявлений. Как правило, форма готовится в InfoPath и публикуется в одном из 
списков. Пользователь открывает нужную ему заявку, заполняет поля и отправляет. Как было бы приятно, если бы форма "узнавала" открывшего её пользователя и данные отправителя уже вносила автоматом.
Первое, что приходит в голову - нужно каким-то образом "подцепить" данные профиля того пользователя, из аккаунта которого открывается форма. Очевидных возможностей это сделать вроде бы нет. Вот тут-то и приходят на помощь веб-сервисы. Они хранят необходимую нам информацию, нужно только выбрать нужный и правильно составить запрос.
Основное количество веб-сервисов хранится в %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\ADMISAPI и в %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\12\ISAPI. Виртуальные директории - http://server:port/_vti_bin/*.asmx?WSDL и http://server:port/_vti_adm/*.asmx?WSDL - соответственно. * - название веб-сервиса. 
Остальные можно найти поиском *.asmx по %ProgramFiles%.
Приступаем - сделаем форму с тремя полями - для вывода ФИО, отдела и телефона открывшего форму. Остальным содержанием можно начинить в зависимости от задачи.  открываем новую форму, кидаем на скорую руку три элемента TextBox.
user posted image
Создаём подключение к источнику данных. Сервис/Data Connections...
user posted image
В окне Подключения данных жмём Добавить...
user posted image 
Ставим РадиоБаттоныsmile: Создать новое подключение для: Получение данных.
user posted image
На следующей странице мастера выбираем источник: Веб-служба. Таким образом Вы можете в форме обратиться к интерфейсу собственноручно написанной веб-службы. Мы же используем встроенную.
user posted image
Вбиваем адрес. Наш корпоративный портал крутится на 80 порту. http://myserver/_vti_bin/userprofileservice.asmx?WSDLДалее...
user posted image
В следующем окне мы видим достаточно крупный список того, что умеет наша служба. Конечно же это методы. И существует SDk об их использовании в программном коде. Выбираем GetUserProfileByName.
user posted image
На следующей странице нам мастер предлагает задать входные параметры. Для функции GetUserProfileByName предложен один необязательный (без звёздочкиsmile) параметр AccountName. Оставляем параметр пустым. Значит это одно из двух - либо имеется перегрузка метода без параметров, либо мастер передат в качестве параметра null. Как бы там ни было - результат выполнения метода будет один - он вернёт нам текущий профиль.
user posted image
Всё. Основная настройка завершена. Далее... далее... по вкусу. Задали имя подключения. По умолчанию - имя метода. Таким и оставим.
Теперь привяжем данные, выуживаемые подключением к нашим контролам.
Вызываем окно свойств первого TextBox'а и жмём на кнопку с функцией у поля Значение.
user posted image 
Формула. Имя и фамилия чаще всего хранятся в разнях полях с названиями LastName и FirstName. Поэтому сначала выберем встроенную функцию concat(param[]); Кнопка Вставить функцию - Text - Concat.
user posted image
Вместо второго параметра пишем " ". Это пробел между именем и фамилией.
Щёлкаем два раза по первому параметру. Выбираем вторичный источник данных - наше подключение.
user posted image
Спускаемся к значению Value. Мы будет отображать его. Но у профиля 39 параметров. И у каждого может быть несколько значений. 
user posted image
Необходимо указать имя параметра. Осуществляется это через фильтрацию. Нажимаем кнопку Фильтрация данных... Жмём Добавить...
Выбрать поле или группу... Как показано выше на рис. - дополнительный источник данных. Только указываем параметр Name
user posted image
Условие выбираем, например, Начинается с... В третьем поле - Ввести текст... LastName
user posted image
ОкОкОк. С третьим полем разбираемся по аналогии. Только вместо LastName вводим FirstName.
Любуемся на получившуюся формулу, жмём ОкПрименитьОк.
user posted image 
С остальными полями разбираемся также, выбирая только значения параметров WorkPhone и Department соответственно.
Публикуем форму, проверяем...
user posted image 
Ура! Вот таких эффектов можно и совсем не сложно добиться только в начале использования веб-сервисов. Больше информации о них и их интерфейсах можете получить из SharePoint SDK. Поиск по download.microsoft.com.



--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0668 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.