开发者

How to create XML webparts using sharepoint web services?

I have an XML to be rendered in sharepoint using a XSL file. I now the how to do this using object model of sharepoint but don't how to do this using sharepoint web services.

i.e. 开发者_如何学GoI want to create XML web parts using sharepoint web services.

Is it possible to do create XML web parts using sharepoint web services? If yes, how?


Found out myself how to do it. :-)

The AddWebPart method of WebPartPagesweb service is the only method which can be used to add a web part and add it to a page too.

You only need to prepare the Xml properly which needs to be passed to the methosd as a parameter. This XML determines the type of WebPart and it's properties.

For Xml WebPArt, I used the following 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>

And pass this Xml string to the AddWebPart Method:

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;
        }

The MSDN help only gave a example for ContentEditor web part. I searched a bit and modified it for Xml web part. :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜