CopyItemType Class

The CopyItemType class represents an operation to copy items in a mailbox.

Namespace: ExchangeWebServices
Assembly: EWS (in ews.dll)

Syntax

'Declaration
<SerializableAttribute> _
<DebuggerStepThroughAttribute> _
<XmlTypeAttribute(Namespace:="http://schemas.microsoft.com/exchange/services/2006/messages")> _
<GeneratedCodeAttribute("wsdl", "2.0.50727.42")> _
<DesignerCategoryAttribute("code")> _
Public Class CopyItemType
    Inherits BaseMoveCopyItemType
[SerializableAttribute] 
[DebuggerStepThroughAttribute] 
[XmlTypeAttribute(Namespace="http://schemas.microsoft.com/exchange/services/2006/messages")] 
[GeneratedCodeAttribute("wsdl", "2.0.50727.42")] 
[DesignerCategoryAttribute("code")] 
public class CopyItemType : BaseMoveCopyItemType
[SerializableAttribute] 
[DebuggerStepThroughAttribute] 
[XmlTypeAttribute(Namespace=L"http://schemas.microsoft.com/exchange/services/2006/messages")] 
[GeneratedCodeAttribute(L"wsdl", L"2.0.50727.42")] 
[DesignerCategoryAttribute(L"code")] 
public ref class CopyItemType : public BaseMoveCopyItemType
/** @attribute SerializableAttribute() */ 
/** @attribute DebuggerStepThroughAttribute() */ 
/** @attribute XmlTypeAttribute(Namespace="http://schemas.microsoft.com/exchange/services/2006/messages") */ 
/** @attribute GeneratedCodeAttribute("wsdl", "2.0.50727.42") */ 
/** @attribute DesignerCategoryAttribute("code") */ 
public class CopyItemType extends BaseMoveCopyItemType
SerializableAttribute 
DebuggerStepThroughAttribute 
XmlTypeAttribute(Namespace="http://schemas.microsoft.com/exchange/services/2006/messages") 
GeneratedCodeAttribute("wsdl", "2.0.50727.42") 
DesignerCategoryAttribute("code") 
public class CopyItemType extends BaseMoveCopyItemType

Remarks

Starting with Microsoft Exchange Server 2007 Service Pack 1 (SP1) with Update Rollup 4 (RU4) applied, the item identifier of the new item is returned in the response message (CopyItemResponseType). Item identifiers are not returned in responses for cross-mailbox or mailbox to public folder CopyItem operations.

Inheritance Hierarchy

System.Object
   ExchangeWebServices.BaseRequestType
     ExchangeWebServices.BaseMoveCopyItemType
      ExchangeWebServices.CopyItemType

Example

The following code example copies two items to the Inbox.

static void CopyItem(ExchangeServiceBinding esb)
{ 
    // Identify the items to copy.
    ItemIdType item1 = new ItemIdType();
    ItemIdType item2 = new ItemIdType();
    item1.Id = "AAAlAE1BQ1";
    item2.Id = "AAAlAE1BQ2";
    ItemIdType[] items = new ItemIdType[2] { item1, item2 };

    // Identify the destination folder.
    DistinguishedFolderIdType destFolder = new DistinguishedFolderIdType();
    destFolder.Id = DistinguishedFolderIdNameType.inbox;
    
    // Form the copy item request.
    CopyItemType request = new CopyItemType();
    request.ItemIds = items;
    request.ToFolderId = new TargetFolderIdType();
    request.ToFolderId.Item = destFolder;

    try
    {
        // Send the request and get the response.
        CopyItemResponseType response = esb.CopyItem(request);
        ArrayOfResponseMessagesType aormt = response.ResponseMessages;
        ResponseMessageType[] rmta = aormt.Items;

        foreach (ResponseMessageType rmt in rmta)
        {
            if (rmt.ResponseClass == ResponseClassType.Success)
            {
                Console.WriteLine("Successful item copy!");
            }
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003,

Target Platforms

Windows 98, Windows 2000, Windows 2000 Server, Windows CE, Windows Longhorn, Windows 98 Second Edition, Pocket PC, Smart Phone, Windows Server 2003, Windows XP Professional with Service Pack 2 (SP2)