Partager via


Copy.CopyIntoItems - Méthode

Copie un document représenté par un tableau de Byte à un ou plusieurs emplacements sur un serveur.

Espace de noms :  WebSvcCopy
Assembly :  STSSOAP (dans STSSOAP.dll)

Syntaxe

'Déclaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/CopyIntoItems", RequestNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    ResponseNamespace := "https://schemas.microsoft.com/sharepoint/soap/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function CopyIntoItems ( _
    SourceUrl As String, _
    DestinationUrls As String(), _
    Fields As FieldInformation(), _
    Stream As Byte(), _
    <OutAttribute> ByRef Results As CopyResult() _
) As UInteger
'Utilisation
Dim instance As Copy
Dim SourceUrl As String
Dim DestinationUrls As String()
Dim Fields As FieldInformation()
Dim Stream As Byte()
Dim Results As CopyResult()
Dim returnValue As UInteger

returnValue = instance.CopyIntoItems(SourceUrl, _
    DestinationUrls, Fields, Stream, _
    Results)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/soap/CopyIntoItems", RequestNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    ResponseNamespace = "https://schemas.microsoft.com/sharepoint/soap/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public uint CopyIntoItems(
    string SourceUrl,
    string[] DestinationUrls,
    FieldInformation[] Fields,
    byte[] Stream,
    out CopyResult[] Results
)

Paramètres

  • SourceUrl
    Type : System.String

    String qui contient l'URL absolue source du document à copier.

  • DestinationUrls
    Type : []

    Un tableau de s Stringqui contiennent une ou plusieurs URL absolues spécifiant l'emplacement de destination ou les emplacements du document copié.

  • Fields
    Type : []

    Tableau d'objets FieldInformation qui définissent et vous pouvez également assigner des valeurs à un ou plusieurs champs associés au document copié.

  • Stream
    Type : []

    Un tableau de s Bytecontenant le document à copier à l'aide du codage en base 64.

  • Results
    Type : []

    Un tableau d'objets CopyResult , passé comme paramètre out .

Valeur renvoyée

Type : System.UInt32
UInt32 qui renvoie la valeur 0 pour indiquer que l'opération est terminée. (Il existe également un paramètre out contenant un tableau d'objets CopyResult .)

Remarques

La méthode GetItem permet de générer un tableau de Byte du document, puis la passer comme paramètre Stream à la méthode CopyIntoItems pour copier le tableau dans un document sur le serveur de destination.

SourceUrl n'est pas utilisé dans l'opération de copie, mais est stocké avec le document sur le serveur en tant que la propriété CopySource . Cela permet aux utilisateurs de la copie revenir à la source.

Notes

Les valeurs des champs de recherche ne sont pas copiés lorsque la cible est une autre collection de sites à partir de la source.

Exemples

L'exemple suivant copie un document à partir d'un serveur exécutant Microsoft SharePoint Foundation à deux emplacements sur un autre serveur.

Dim myCopyService As New Web_Reference_Name.Copy()
myCopyService.Credentials = _
    System.Net.CredentialCache.DefaultCredentials

Dim copySource As String = _
    "http://Server1/Site1/Shared Documents/test.txt"
Dim copyDest As String() = _
    {"http://Server2/Site1/Shared Documents/test.txt", _
    "http://Server2/Site2/Shared Documents/test.txt"}

Dim myFieldInfo As New Web_Reference_Name.FieldInformation
Dim myFieldInfoArray As Web_Reference_Name.FieldInformation() = {myFieldInfo}
Dim myByte As Byte
Dim myByteArray() As Byte = {myByte}

Dim myGetUint As System.UInt32 = _
    myCopyService.GetItem(copySource, myFieldInfoArray, myByteArray)

Dim myCopyResult1 As New Web_Reference_Name.CopyResult()
Dim myCopyResult2 As New Web_Reference_Name.CopyResult()
Dim myCopyResultArray As Web_Reference_Name.CopyResult() = _
    {myCopyResult1, myCopyResult2}

Try
    Dim myCopyUint As System.UInt32 = _
        myCopyService.CopyIntoItems(copySource, copyDest, _
        myFieldInfoArray, myByteArray, myCopyResultArray)
    If myCopyUint = 0 Then
        Dim idx As Integer = 0
        Dim myCopyResult As Web_Reference_Name.CopyResult
        For Each myCopyResult In myCopyResultArray
            Dim opString As String = (idx + 1).ToString()
            If myCopyResultArray(idx).ErrorMessage Is Nothing Then
                MessageBox.Show(("Copy operation " + opString + _
                    "completed." + ControlChars.Cr + _
                    ControlChars.Lf + "Destination: " + _
                    myCopyResultArray(idx).DestinationUrl))
            Else
                MessageBox.Show(("Copy operation " + opString + _
                    "failed." + ControlChars.Cr + _
                    ControlChars.Lf + "Error: " + _
                    myCopyResultArray(idx).ErrorMessage + _
                    ControlChars.Cr + ControlChars.Lf + "Code: " + _
                    myCopyResultArray(idx).ErrorCode))
            End If
            idx += 1
        Next myCopyResult
    End If
Catch exc As Exception
    Dim idx As Integer = 0
    Dim myCopyResult As Web_Reference_Name.CopyResult
    For Each myCopyResult In myCopyResultArray
        idx += 1
        If myCopyResult.DestinationUrl Is Nothing Then
            Dim idxString As String = idx.ToString()
            MessageBox.Show("Copy operation " + idxString + _
                " failed." + ControlChars.Cr + ControlChars.Lf + _
                "Description: " + exc.Message, "Exception", _
                MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    Next myCopyResult
End Try
Web_Reference_Name.Copy myCopyService = new Web_Reference_Name.Copy();
myCopyService.Credentials = 
    System.Net.CredentialCache.DefaultCredentials;

string copySource = "http://Server1/Site1/Shared Documents/test.txt";
string[] copyDest = { "http://Server2/Site1/Shared Documents/test.txt", 
    "http://Server2/Site2/Shared Documents/test.txt" };

Web_Reference_Name.FieldInformation myFieldInfo = new 
    Web_Reference_Name.FieldInformation();
Web_Reference_Name.FieldInformation[] myFieldInfoArray = { myFieldInfo };
byte[] myByteArray;

uint myGetUint = myCopyService.GetItem(copySource, 
    out myFieldInfoArray, out myByteArray);

Web_Reference_Name.CopyResult myCopyResult1 = new Web_Reference_Name.CopyResult();
Web_Reference_Name.CopyResult myCopyResult2 = new Web_Reference_Name.CopyResult();
Web_Reference_Name.CopyResult[] myCopyResultArray = { myCopyResult1, 
    myCopyResult2 };

try
{
    uint myCopyUint = myCopyService.CopyIntoItems(copySource, copyDest, 
        myFieldInfoArray, myByteArray, out myCopyResultArray);
    if (myCopyUint == 0)
    {
        int idx = 0;
        foreach (Web_Reference_Name.CopyResult myCopyResult in myCopyResultArray)
        {
            string opString = (idx+1).ToString();
            if (myCopyResultArray[idx].ErrorMessage == null)
            {
                MessageBox.Show("Copy operation " + opString + 
                    "completed.\r\n" + "Destination: " + 
                    myCopyResultArray[idx].DestinationUrl);
            }
            else
            {
                MessageBox.Show("Copy operation " + opString + 
                    " failed.\r\n" + "Error: " + 
                    myCopyResultArray[idx].ErrorMessage + "\r\n" +
                    "Code: " + myCopyResultArray[idx].ErrorCode);
            }
            idx++;
        }
    }
}
catch (Exception exc)
{
    int idx = 0;
    foreach (Web_Reference_Name.CopyResult myCopyResult in myCopyResultArray)
    {
        idx++;
        if (myCopyResult.DestinationUrl == null)
        {
            string idxString = idx.ToString();
            MessageBox.Show("Copy operation " + idxString + 
                " failed.\r\n" + "Description: " + exc.Message,
                "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
}

Voir aussi

Référence

Copy classe

Copy - Membres

WebSvcCopy - Espace de noms