Share via


WebPartPagesWebService.AddWebPart Method

Adds a new Web Part to a Web Part Page.

Namespace:  [Webpartpages Web service]
Web service reference: http://Site/_vti_bin/Webpartpages.asmx

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://microsoft.com/sharepoint/webpartpages/AddWebPart", RequestNamespace := "https://microsoft.com/sharepoint/webpartpages",  _
    ResponseNamespace := "https://microsoft.com/sharepoint/webpartpages",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function AddWebPart ( _
    pageUrl As String, _
    webPartXml As String, _
    storage As Storage _
) As Guid
'Usage
Dim instance As WebPartPagesWebService
Dim pageUrl As String
Dim webPartXml As String
Dim storage As Storage
Dim returnValue As Guid

returnValue = instance.AddWebPart(pageUrl, _
    webPartXml, storage)
[SoapDocumentMethodAttribute("https://microsoft.com/sharepoint/webpartpages/AddWebPart", RequestNamespace = "https://microsoft.com/sharepoint/webpartpages", 
    ResponseNamespace = "https://microsoft.com/sharepoint/webpartpages", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public Guid AddWebPart(
    string pageUrl,
    string webPartXml,
    Storage storage
)

Parameters

  • pageUrl
    Type: System.String

    A string containing the URL of the Web Part Page.

  • webPartXml
    Type: System.String

    A string containing the XML of the Web Part.

Return Value

Type: System.Guid
A GUID that identifies the newly created Web Part.

Remarks

To access the WebPartPagesWebService service and its methods, set a Web reference to http://Virtual_Server_Name:Port_Number/_vti_adm/WebPartPages.asmx.

Examples

The following code example shows a locally defined AddWebPart method that adds a Web Part and then modifies it by calling the AddWebPart and SaveWebPart methods of the Web Part Pages service through a proxy. This code example and the proxy are part of a larger example provided for the Web Part Pages service.

Private Sub AddWebPart()
    ' NOTE: The Web Service we are using is defined on MyServer/_vti_bin
    ' Declare and initialize a variable for the WebPartPages Web Service.
    Dim svc = New Microsoft.Samples.WebPartPagesSvcClient.WebpartpagesSvc.WebPartPagesWebService()
         
    ' Authenticate the current user by passing their default
    ' credentials to the Web Service from the system credential cache.
    svc.Credentials = System.Net.CredentialCache.DefaultCredentials
         
    Dim pageUrl As String = "http://MyServer/Shared%20Documents/SampleStart.aspx"
         
    ' create Web Part XML inline 
    Dim webPartXml As String = "<?xml version=""1.0"" encoding=""utf-16""?>" + ControlChars.Lf + _
    "<WebPart xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" https://schemas.microsoft.com/WebPart/v2"">" +  ControlChars.Lf + " " + _
    "<Title>Content Editor Web Part</Title>" + ControlChars.Lf + "  " + 
    "<FrameType>Default</FrameType>" + ControlChars.Lf + "  " + 
    "<Description>Use for formatted text, tables, and images.</Description>" + ControlChars.Lf + "  " + _
    "<IsIncluded>true</IsIncluded>" + ControlChars.Lf + "  " + _
    "<ZoneID>Header</ZoneID>" + ControlChars.Lf + "  " + _
    "<PartOrder>1</PartOrder>" + ControlChars.Lf + "  " + _
    "<FrameState>Normal</FrameState>" + ControlChars.Lf + "  " + _
    "<Height />" + ControlChars.Lf + "  " + _
    "<Width />" + ControlChars.Lf + "  " + _
    "<AllowRemove>true</AllowRemove>" + ControlChars.Lf + "  " + _
    "<AllowZoneChange>true</AllowZoneChange>" + ControlChars.Lf + "  " + _
    "<AllowMinimize>true</AllowMinimize>" + ControlChars.Lf + "  " + _
    "<IsVisible>true</IsVisible>" + ControlChars.Lf + "  " + _
    "<DetailLink />" + ControlChars.Lf + "  " + _
    "<HelpLink />" + ControlChars.Lf + "  " + _
    "<Dir>Default</Dir>" + ControlChars.Lf + "  " + _
    "<PartImageSmall />" + ControlChars.Lf + "  " + _
    "<MissingAssembly />" + ControlChars.Lf + "  " + _
    "<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>" + ControlChars.Lf + "  " + _
    "<IsIncludedFilter />" + ControlChars.Lf + "  " + _
    "<Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>" + ControlChars.Lf + "  " + _
    "<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>" + ControlChars.Lf + "  " + _
    "<ContentLink https://schemas.microsoft.com/WebPart/v2/ContentEditor"" />" + ControlChars.Lf + "  " + _
    "<Content https://schemas.microsoft.com/WebPart/v2/ContentEditor""><![CDATA[<P>Hello</P>]]></Content>" + ControlChars.Lf + "  " + _
    "<PartStorage https://schemas.microsoft.com/WebPart/v2/ContentEditor"" />" + ControlChars.Lf + " " + _
    "</WebPart>"
     
    ' Add Web Part, store the new Web Part GUID into a variable
    Dim newPartId As Guid = svc.AddWebPart(pageUrl, webPartXml, WebpartpagesSvc.Storage.Shared)         
       
    Console.WriteLine("A new Web Part with ID [{0}] was added to the page [{1}]", newPartId.ToString(), pageUrl)
    Console.WriteLine("-----Hit enter-----")
    Console.ReadLine()
End Sub 'AddWebPart
private void AddWebPart()
{
    // NOTE: The Web Service we are using is defined on MyServer/_vti_bin
    // Declare and initialize a variable for the WebPartPages Web Service.
    WebpartpagesSvc.WebPartPagesWebService svc = new Microsoft.Samples.WebPartPagesSvcClient.WebpartpagesSvc.WebPartPagesWebService();

    // Authenticate the current user by passing their default
    // credentials to the Web Service from the system credential cache.
    svc.Credentials = System.Net.CredentialCache.DefaultCredentials;
    string pageUrl = "http://MyServer/Shared%20Documents/SampleStart.aspx";
        
    // Create Web Part XML inline. 
    string webPartXml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n" +    "<WebPart xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"https://schemas.microsoft.com/WebPart/v2\">\n" +
    "<Title>Content Editor Web Part</Title>\n  " +
    "<FrameType>Default</FrameType>\n  " +
    "<Description>Use for formatted text, tables, and images.</Description>\n  " +
    "<IsIncluded>true</IsIncluded>\n  " +
    "<ZoneID>Header</ZoneID>\n  " +
    "<PartOrder>1</PartOrder>\n  " +
    "<FrameState>Normal</FrameState>\n  " +
    "<Height />\n  " +
    "<Width />\n  " +
    "<AllowRemove>true</AllowRemove>\n  " +
    "<AllowZoneChange>true</AllowZoneChange>\n  " +
    "<AllowMinimize>true</AllowMinimize>\n  " +
    "<IsVisible>true</IsVisible>\n  " +
    "<DetailLink />\n  " +
    "<HelpLink />\n  " +
    "<Dir>Default</Dir>\n  " +
    "<PartImageSmall />\n  " +
    "<MissingAssembly />\n  " +
    "<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>\n  " +
    "<IsIncludedFilter />\n  " +
    "<Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>\n  " +
    "<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>\n  " +
    "<ContentLink xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\" />\n  " +
    "<Content xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\"><![CDATA[<P>Hello</P>]]></Content>\n  " +
    "<PartStorage xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\" />\n</WebPart>";

    // Add Web Part, store the new WebPart GUID into a variable.
    Guid newPartId = svc.AddWebPart(pageUrl, webPartXml, WebpartpagesSvc.Storage.Shared);           
            
    Console.WriteLine("A new Web Part with ID [{0}] was added to the page [{1}]", newPartId.ToString(), pageUrl);
    Console.WriteLine("-----Hit enter-----");
    Console.ReadLine();
}

SOAP Request Format   The following is a sample SOAP 1.1 request. The placeholders shown need to be replaced with actual values.

POST /_vti_bin/webpartpages.asmx HTTP/1.1
Host: Server_Name
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://microsoft.com/sharepoint/webpartpages/AddWebPart"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddWebPart xmlns="https://microsoft.com/sharepoint/webpartpages">
      <pageUrl>string</pageUrl>
      <webPartXml>string</webPartXml>
      <storage>None or Personal or Shared</storage>
    </AddWebPart>
  </soap:Body>
</soap:Envelope>

SOAP Response Format   The following is a sample SOAP 1.1 response. The placeholders shown will be replaced with actual values.

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddWebPartResponse xmlns="https://microsoft.com/sharepoint/webpartpages">
      <AddWebPartResult>guid</AddWebPartResult>
    </AddWebPartResponse>
  </soap:Body>
</soap:Envelope>

See Also

Reference

WebPartPagesWebService Class

WebPartPagesWebService Members

Webpartpages Web Service