Как создавать веб-части XML с помощью веб-сервисов sharepoint? - PullRequest
0 голосов
/ 19 апреля 2010

У меня есть XML для рендеринга в sharepoint с использованием файла XSL. Теперь я узнаю, как сделать это с помощью объектной модели sharepoint, но не знаю, как это сделать с помощью веб-служб sharepoint.

т.е. Я хочу создавать веб-части XML с помощью веб-сервисов sharepoint.

Можно ли создавать веб-части XML с помощью веб-служб sharepoint? Если да, то как?

1 Ответ

0 голосов
/ 20 апреля 2010

Сам узнал, как это сделать. : -)

Метод AddWebPart веб-службы WebPartPages является единственным методом, который можно использовать для добавления веб-части и добавления ее на страницу.

Вам нужно только правильно подготовить Xml, который необходимо передать методу в качестве параметра. Этот XML определяет тип WebPart и его свойства.

Для Xml WebPArt я использовал следующий XML:

<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2">
          <Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
          <TypeName>Microsoft.SharePoint.WebPartPages.XmlWebPart</TypeName>
          <FrameType>None</FrameType>
          <Title>XML Web Part</Title>
          <XMLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xml</XMLLink>
          <XML xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
          <XSLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xsl</XSLLink>
          <XSL xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
          <PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
</WebPart>

И передать эту строку XML в AddWebPart Метод:

public static Guid WebPartPagesAddWebPart(string PageUrl, string WebPartXml, uint Storage)
        {
            // proxy object to call the Versions web service
            WebPartPages.WebPartPagesWebService WebPartPagesWebService = new WebPartPages.WebPartPagesWebService();

            // the user credentials to use
            WebPartPagesWebService.Credentials = new NetworkCredential(UserName, Password, Domain);
            WebPartPagesWebService.Url = sharePointHost + WebPartPagesServiceName;

            // add the new web part to the page
            Guid Result = WebPartPagesWebService.AddWebPart(PageUrl, WebPartXml, (WebPartPages.Storage)Storage);

            // dispose the web service object
            WebPartPagesWebService.Dispose();
            return Result;
        }

В справке MSDN приведен только пример для веб-части ContentEditor. Я немного искал и модифицировал его для веб-части Xml. :)

...