![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Walker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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. ![]() Создаём подключение к источнику данных. Сервис/Data Connections... ![]() В окне Подключения данных жмём Добавить... ![]() Ставим РадиоБаттоны ![]() ![]() На следующей странице мастера выбираем источник: Веб-служба. Таким образом Вы можете в форме обратиться к интерфейсу собственноручно написанной веб-службы. Мы же используем встроенную. ![]() Вбиваем адрес. Наш корпоративный портал крутится на 80 порту. http://myserver/_vti_bin/userprofileservice.asmx?WSDL. Далее... ![]() В следующем окне мы видим достаточно крупный список того, что умеет наша служба. Конечно же это методы. И существует SDk об их использовании в программном коде. Выбираем GetUserProfileByName. ![]() На следующей странице нам мастер предлагает задать входные параметры. Для функции GetUserProfileByName предложен один необязательный (без звёздочки ![]() ![]() Всё. Основная настройка завершена. Далее... далее... по вкусу. Задали имя подключения. По умолчанию - имя метода. Таким и оставим. Теперь привяжем данные, выуживаемые подключением к нашим контролам. Вызываем окно свойств первого TextBox'а и жмём на кнопку с функцией у поля Значение. ![]() Формула. Имя и фамилия чаще всего хранятся в разнях полях с названиями LastName и FirstName. Поэтому сначала выберем встроенную функцию concat(param[]); Кнопка Вставить функцию - Text - Concat. ![]() Вместо второго параметра пишем " ". Это пробел между именем и фамилией. Щёлкаем два раза по первому параметру. Выбираем вторичный источник данных - наше подключение. ![]() Спускаемся к значению Value. Мы будет отображать его. Но у профиля 39 параметров. И у каждого может быть несколько значений. ![]() Необходимо указать имя параметра. Осуществляется это через фильтрацию. Нажимаем кнопку Фильтрация данных... Жмём Добавить... Выбрать поле или группу... Как показано выше на рис. - дополнительный источник данных. Только указываем параметр Name. ![]() Условие выбираем, например, Начинается с... В третьем поле - Ввести текст... - LastName ![]() Ок, Ок, Ок. С третьим полем разбираемся по аналогии. Только вместо LastName вводим FirstName. Любуемся на получившуюся формулу, жмём Ок, Применить, Ок. ![]() С остальными полями разбираемся также, выбирая только значения параметров WorkPhone и Department соответственно. Публикуем форму, проверяем... ![]() Ура! Вот таких эффектов можно и совсем не сложно добиться только в начале использования веб-сервисов. Больше информации о них и их интерфейсах можете получить из SharePoint SDK. Поиск по download.microsoft.com. -------------------- "От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..." |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |