Как мне создать список SharePoint 2007 из шаблона через веб-сервис? - PullRequest
2 голосов
/ 28 октября 2010

У меня есть настраиваемый список SharePoint 2007, который я сохранил как шаблон списка. Я ищу способ создания нового списка из сохраненного шаблона с помощью вызова веб-службы из внешнего приложения.

Я уже изучил основные веб-службы, доступные для SharePoint 2007 http://msdn.microsoft.com/en-us/library/bb862916(office.12).aspx, но вызов этого просто создает простой, пустой пользовательский список.

Как создать экземпляр списка из определенного шаблона? Как найти идентификатор функции для шаблона?

1 Ответ

2 голосов
/ 05 ноября 2010

Вы можете использовать отладчик HTTP, такой как fiddler2 , для анализа веб-службы и вызовов удаленных процедур, которые SharePoint Designer делает, чтобы выяснить это.

Например, чтобы получить доступные шаблоны списков, SPD делает HTTP-запрос, используя команду RPC DisplayPost , например,

POST http://[server]/[web]/_vti_bin/owssvr.dll?Cmd=DisplayPost 

с полезной нагрузкой xml:

<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return" Version="12.0.0.000">
 <Method ID="0,GetProjSchema">
  <SetVar Name="Cmd">GetProjSchema</SetVar>
 </Method>
</ows:Batch>

Затем SPD анализирует узел ListTemplates в ответе, чтобы получить список имен шаблонов, типов и идентификаторов функций.

Чтобы создать список из определенного типа шаблона или идентификатора функции, SPD использует ту же команду DisplayPost, на этот раз с телом сообщения, похожим на:

<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return" Version="12.0.0.000">
 <Method ID="0,NewList">
  <SetVar Name="Cmd">NewList</SetVar>
  <SetVar Name="ListTemplate">108</SetVar>
  <SetVar Name="Title">Discussion Board</SetVar>
  <SetVar Name="FeatureId">00bfea716a4943fab535d15c05500108</SetVar>
  <SetVar Name="RootFolder" />
  <SetVar Name="LangID">1033</SetVar>
 </Method>
</ows:Batch>

Пример использования протокола RPC см. В этом сообщении о загрузке файлов в библиотеку документов SharePoint (в нем используется файл author.dll, а не owssvr.dll, но метод аналогичен). .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...