Realizar búsquedas agrupadas mediante EWS en ExchangePerform grouped searches by using EWS in Exchange

Descubra cómo realizar búsquedas agrupadas en la API administrada de EWS o en la aplicación EWS dirigida a Exchange.Find out how to perform grouped searches in your EWS Managed API or EWS application that targets Exchange.

Las búsquedas agrupadas resultan útiles en cuanto a que le permiten controlar el modo en que se organizan los resultados de la búsqueda.Grouped searches are useful in that they gives you control over how search results are organized. Los resultados de búsqueda organizados pueden facilitar a su aplicación la tarea de procesar los resultados o mostrarlos a un usuario final de una manera fácil de administrar.Organized search results can make it easier for your application to process results or display them to an end user in a manageable way.

La agrupación funciona poniendo todos los elementos dentro del conjunto de resultados que tienen el mismo valor de un campo específico en un grupo.Grouping works by putting all items within the result set that have the same value of a specific field into a group. Por ejemplo, puede agrupar los resultados por el remitente y todos los elementos de la misma persona estarán en un grupo independiente y los elementos dentro de cada grupo se ordenarán según el orden que especifique en la vista.For example, you can group your results by the sender, and all items from the same person will be in a separate group, and the items within each group will be sorted according to the order you specify on the view. Los propios grupos se ordenan por un valor agregado en función de un campo que elija.The groups themselves are sorted by an aggregate value based on a field you choose.

Tabla 1. Métodos de la API administrada de EWS y operaciones EWS para organizar los resultados de búsquedaTable 1. EWS Managed API methods and EWS operations for organizing search results

Si quiere...If you want to… En la API administrada de EWS, use...In the EWS Managed API, use… En EWS, use...In EWS, use…
Organizar elementos con el mismo valor en una propiedad específica de los resultados en gruposOrganize items with the same value in a specific property in your results into groups
Agrupación. GroupOnGrouping.GroupOn
Elemento FieldURI como elemento secundario del elemento GroupByFieldURI element as a child of the GroupBy element
Ordenar elementos dentro de cada grupo por el valor de una propiedad específicaSort items within each group by the value in a specific property
ItemView. OrderByItemView.OrderBy
Elemento SortOrderSortOrder element
Ordenar los gruposSort the groups
Agrupación. AggregateOnGrouping.AggregateOn

Agrupación. AggregateTypeGrouping.AggregateType

Agrupación. SortDirectionGrouping.SortDirection
Elemento FieldURI como elemento secundario del elemento AggregateOnFieldURI element as a child of the AggregateOn element

Atributo Aggregate en el elemento AggregateOnAggregate attribute on the AggregateOn element

Atributo Order en el elemento GroupByOrder attribute on the GroupBy element

Vamos a hacerlo paso a paso.Let's take it step by step.

Resultados de grupo por una propiedad específicaGroup results by a specific property

El primer paso para usar la agrupación es seleccionar una propiedad o atributo en los elementos del almacén de Exchange para agrupar por.The first step to using grouping is to select a property, or attribute on the items in the Exchange store, to group by. La API administrada de EWS las expone como propiedades de clase en las clases correspondientes, mientras que EWS las expone como elementos XML.The EWS Managed API exposes these as class properties on the corresponding classes, while EWS exposes them as XML elements. Puede elegir cualquier propiedad, incluidas las personalizadas o extendidas, pero es útil comprender cómo se agrupan los elementos según el valor de la propiedad que elija.You can choose any property, including custom or extended properties, but it is helpful to understand how items are grouped based on the value of the property you choose.

Todos los elementos que tienen el mismo valor en la propiedad que seleccione para agrupar se agruparán juntos.All items that have the same value in the property you choose to group by will be grouped together. Esto puede parecer obvio, pero es un detalle importante.This might seem obvious, but it is an important detail. Considere qué ocurre si agrupa por una propiedad de fecha y hora, como Item. DateTimeReceived en la API administrada de EWS o el elemento DateTimeReceived en EWS.Consider what happens if you group by a date/time property, such as Item.DateTimeReceived in the EWS Managed API, or the DateTimeReceived element in EWS. La intención podría ser organizar los resultados en grupos, con cada grupo que contenga elementos del mismo día.The intent might be to organize the results into groups, with each group containing items from the same day. Sin embargo, la agrupación examina el valor completo, que incluye la hora.However, grouping looks at the entire value, which includes the time.

El resultado final es que los elementos se agruparán para que los elementos recibidos al mismo tiempo, hasta el segundo, estén en sus propios grupos.The end result is that the items will be grouped so that items received at the same time, down to the second, are in their own groups. Lo más probable es que los resultados se ordenen en un gran número de grupos con un número pequeño de elementos en cada grupo.The results will most likely be sorted into a large number of groups with a small number of items in each group.

Para obtener un conjunto de resultados con un número de grupos más pequeño y un número mayor de elementos en cada grupo, elija una propiedad que probablemente tenga un número menor de valores, como EmailMessage. from o Item. Categories en la API administrada de EWS o en categorías de EWS.To get a results set with a smaller number of groups and a larger number of items in each group, choose a property that is likely to have a smaller number of values, such as EmailMessage.From or Item.Categories in the EWS Managed API, or From or Categories in EWS. En la siguiente figura se muestra una lista de los correos electrónicos que aparecen en la bandeja de entrada.The following figure shows a list of emails that appear in an Inbox.

Figura 1. Mensajes de una bandeja de entradaFigure 1. Messages in an Inbox

Muestra de una lista de mensajes en la bandeja de entrada de un usuario.

Si agrupa los elementos de la figura 1 por la propiedad EmailMessage. from , el resultado será dos grupos, uno para los mensajes enviados por la esperanza bruta y otro para los mensajes enviados por Sadie Daniels.If you group the items in Figure 1 by the EmailMessage.From property, the result will be two groups, one for messages sent by Hope Gross, and one for messages sent by Sadie Daniels.

Figura 2. Mensajes separados en grupos basados en la propiedad FromFigure 2. Messages separated into groups based on the From property

Una imagen que muestra mensajes ordenados en dos listas por la propiedad De.

Ordenar los elementos dentro de los gruposSort the items within groups

Puede controlar cómo se ordenan los elementos dentro de cada grupo mediante la propiedad ItemView. OrderBy en la API administrada EWS o el elemento SortOrder de EWS.You can control how items are sorted within each group by using the ItemView.OrderBy property in the EWS Managed API, or the SortOrder element in EWS. La misma ordenación se aplica a cada grupo.The same ordering applies to each group. Por ejemplo, si ordena los elementos de la figura 1 por la propiedad Item. DateTimeReceived , en orden descendente, el último elemento recibido de la esperanza bruta será el primero en el grupo de esperanza bruto y el último elemento recibido de Sadie Daniels será el primero en el grupo Sadie Daniels.For example, if you sort the items from Figure 1 by the Item.DateTimeReceived property, in descending order, the item most recently received from Hope Gross will be first in the Hope Gross group, and the item most recently received from Sadie Daniels will be first in the Sadie Daniels group. Convenientemente, los grupos de la figura 2 ya están ordenados de esta forma.Conveniently, the groups in Figure 2 are already sorted this way.

Ordenar los gruposSort the groups

Ahora que ha liquidado los grupos, el último paso consiste en ordenar los grupos.Now that you have your groups settled, the final step is sorting the groups themselves. Debido a que los propios grupos no tienen valores específicos, el proceso de agrupación tiene que asignar un valor de ordenación a cada grupo.Because the groups themselves have no specific values, the grouping process has to assign a sort value to each group. Esto se realiza mediante la agregación de los valores de una propiedad específica dentro de cada grupo, especificado por la propiedad Grouping. AggregateOn en la API administrada EWS, o el elemento FieldURI como elemento secundario del elemento AggregateOn en EWS.This is done by aggregation of the values of a specific property within each group, specified by the Grouping.AggregateOn property in the EWS Managed API, or the FieldURI element as a child of the AggregateOn element in EWS. La propiedad Grouping. AggregateType de la API administrada de EWS (o el atributo Aggregate del elemento AggregateOn de EWS) especifica qué valor de los elementos de cada grupo se asigna al valor de ordenación del grupo, ya sea el valor más grande o el valor menor.The Grouping.AggregateType property in the EWS Managed API (or the Aggregate attribute on the AggregateOn element in EWS) specifies which value from the items within each group is assigned to the sort value for the group — either the largest value or the smallest value. Por último, el criterio de ordenación (descendente o ascendente) se especifica mediante la propiedad Grouping. SortDirection en la API administrada EWS o el atributo Order del elemento GroupBy en EWS.Finally, the sort order (descending or ascending) is specified by the Grouping.SortDirection property in the EWS Managed API, or the Order attribute on the GroupBy element in EWS.

Por ejemplo, si los grupos de la figura 2 se ordenan agregando la propiedad Item. DateTimeReceived , usando el menor valor y orden descendente, los elementos se devuelven en el orden indicado en la figura 3.For example, if the groups from Figure 2 are sorted by aggregating on the Item.DateTimeReceived property, using the smallest value, and sorting in descending order, the items are returned in the order in shown Figure 3.

Figura 3. Resultados de la búsqueda agrupados con los grupos ordenados por la propiedad DateTimeReceivedFigure 3. Grouped search results with the groups sorted by the DateTimeReceived property

Una imagen que muestra una lista ordenada de mensajes, agrupados por la propiedad De, con los grupos ordenados por la fecha y hora de recepción más antigua.

En las secciones siguientes se muestra cómo se puede agrupar y ordenar juntos en el código.The next sections show you how you might pull grouping and sorting together in code.

Ejemplo: realizar una búsqueda agrupada mediante la API administrada de EWSExample: Perform a grouped search by using the EWS Managed API

Los siguientes métodos de la API administrada de EWS pueden usar la agrupación:The following EWS Managed API methods can use grouping:

En el ejemplo siguiente se usa el método ExchangeService. FindItems ; sin embargo, las mismas reglas y conceptos se aplican al método Folder. FindItems .The following example uses the ExchangeService.FindItems method; however, the same rules and concepts apply to the Folder.FindItems method. En este ejemplo, se define un método denominado GroupItemsByFrom .In this example, a method called GroupItemsByFrom is defined. Toma un objeto ExchangeService y un objeto WellKnownFolderName como parámetros.It takes an ExchangeService object and a WellKnownFolderName object as parameters. Solicita los primeros 50 elementos en la carpeta, agrupados por la propiedad EmailMessage. from , ordenados por la propiedad Item. DateTimeReceived en orden descendente.It requests the first 50 items in the folder, grouped by the EmailMessage.From property, sorted by the Item.DateTimeReceived property in descending order. Los propios grupos se ordenan por el valor de la propiedad Item. DateTimeReceived más pequeño de sus elementos, en orden descendente.The groups themselves are sorted by the smallest Item.DateTimeReceived property value on their items, in descending order.

En este ejemplo se supone que el objeto ExchangeService se ha inicializado con valores válidos en las propiedades Credentials y URL .This example assumes that the ExchangeService object has been initialized with valid values in the Credentials and Url properties.

static void GroupItemsByFrom(ExchangeService service, WellKnownFolderName folder)
{
    // Limit the result set to 50 items.
    ItemView view = new ItemView(50);
    view.PropertySet = new PropertySet(ItemSchema.Subject,
                                       ItemSchema.DateTimeReceived,
                                       EmailMessageSchema.From,
                                       ItemSchema.Categories);
    // Item searches do not support Deep traversal.
    view.Traversal = ItemTraversal.Shallow;
    // Specify the sorting done within the groups.
    view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Descending);
    // Configure grouping.
    Grouping groupByFrom = new Grouping();
    groupByFrom.GroupOn = EmailMessageSchema.From;
    groupByFrom.AggregateOn = ItemSchema.DateTimeReceived;
    groupByFrom.AggregateType = AggregateType.Minimum;
    groupByFrom.SortDirection = SortDirection.Descending;
    try
    {
        GroupedFindItemsResults<Item> results = service.FindItems(folder,
            view, groupByFrom);
        foreach (ItemGroup<Item> group in results.ItemGroups)
        {
            Console.WriteLine("Group: {0}", group.GroupIndex);
            foreach (Item item in group.Items)
            {
                if (item is EmailMessage)
                {
                    EmailMessage message = item as EmailMessage;
                    Console.WriteLine("From: {0}", message.From);
                    Console.WriteLine("Subject: {0}", message.Subject);
                    Console.WriteLine("Id: {0}\n", message.Id.ToString());
                }
            }
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine("Exception while enumerating results: {0}", ex.Message);
    }
}

Ejemplo: realizar una búsqueda agrupada con EWSExample: Perform a grouped search by using EWS

En el siguiente ejemplo de solicitud se muestra una solicitud de operación FindItem para los primeros 50 elementos de la carpeta, agrupados por el elemento from , ordenados por el elemento DateTimeReceived en orden descendente.The following request example shows a FindItem operation request for the first 50 items in the folder, grouped by the From element, sorted by the DateTimeReceived element in descending order. Los propios grupos se ordenan por el valor del elemento DateTimeReceived más pequeño de sus elementos, en orden descendente.The groups themselves are sorted by the smallest DateTimeReceived element value on their items, in descending order.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
    xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" 
    xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
    <t:TimeZoneContext>
      <t:TimeZoneDefinition Id="Eastern Standard Time" />
    </t:TimeZoneContext>
  </soap:Header>
  <soap:Body>
    <m:FindItem Traversal="Shallow">
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
          <t:FieldURI FieldURI="item:DateTimeReceived" />
          <t:FieldURI FieldURI="message:From" />
          <t:FieldURI FieldURI="item:Categories" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:IndexedPageItemView MaxEntriesReturned="50" Offset="0" BasePoint="Beginning" />
      <m:GroupBy Order="Descending">
        <t:FieldURI FieldURI="message:From" />
        <t:AggregateOn Aggregate="Minimum">
          <t:FieldURI FieldURI="item:DateTimeReceived" />
        </t:AggregateOn>
      </m:GroupBy>
      <m:SortOrder>
        <t:FieldOrder Order="Descending">
          <t:FieldURI FieldURI="item:DateTimeReceived" />
        </t:FieldOrder>
      </m:SortOrder>
      <m:ParentFolderIds>
        <t:DistinguishedFolderId Id="inbox" />
      </m:ParentFolderIds>
    </m:FindItem>
  </soap:Body>
</soap:Envelope>

El servidor devuelve la siguiente respuesta.The server returns the following response.

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="https://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="712" MinorBuildNumber="22" Version="V2_3" 
        xmlns:h="https://schemas.microsoft.com/exchange/services/2006/types" 
        xmlns="https://schemas.microsoft.com/exchange/services/2006/types" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <m:FindItemResponse xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" 
      xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
      <m:ResponseMessages>
        <m:FindItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:RootFolder IndexedPagingOffset="10" TotalItemsInView="8" IncludesLastItemInRange="true">
            <t:Groups>
              <t:GroupedItems>
                <t:GroupIndex>0</t:GroupIndex>
                <t:Items>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>Planning resources</t:Subject>
                    <t:DateTimeReceived>2013-12-10T17:41:05Z</t:DateTimeReceived>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Sadie Daniels</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=8D84A3F4CBB34D48838A3AECF99795C0-SADIE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>Timeline</t:Subject>
                    <t:DateTimeReceived>2013-12-10T17:40:37Z</t:DateTimeReceived>
                    <t:Categories>
                      <t:String>Project</t:String>
                    </t:Categories>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Sadie Daniels</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=8D84A3F4CBB34D48838A3AECF99795C0-SADIE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>For your perusal</t:Subject>
                    <t:DateTimeReceived>2013-11-20T21:51:16Z</t:DateTimeReceived>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Sadie Daniels</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=8D84A3F4CBB34D48838A3AECF99795C0-SADIE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>meeting notes</t:Subject>
                    <t:DateTimeReceived>2013-11-20T21:18:51Z</t:DateTimeReceived>
                    <t:Categories>
                      <t:String>Blue category</t:String>
                    </t:Categories>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Sadie Daniels</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=8D84A3F4CBB34D48838A3AECF99795C0-SADIE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>Meeting notes</t:Subject>
                    <t:DateTimeReceived>2013-11-20T21:18:51Z</t:DateTimeReceived>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Sadie Daniels</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=8D84A3F4CBB34D48838A3AECF99795C0-SADIE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                </t:Items>
              </t:GroupedItems>
              <t:GroupedItems>
                <t:GroupIndex>1</t:GroupIndex>
                <t:Items>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>Query</t:Subject>
                    <t:DateTimeReceived>2013-12-10T17:43:15Z</t:DateTimeReceived>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Hope Gross</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=9B55E4100C064D9D8C5F72FF36802ED3-HOPE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>Update</t:Subject>
                    <t:DateTimeReceived>2013-12-10T17:42:33Z</t:DateTimeReceived>
                    <t:Categories>
                      <t:String>Project</t:String>
                      <t:String>Blue category</t:String>
                    </t:Categories>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Hope Gross</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=9B55E4100C064D9D8C5F72FF36802ED3-HOPE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                  <t:Message>
                    <t:ItemId Id="AAMkAGM2..." ChangeKey="CQAAABYA..." />
                    <t:Subject>This cat is hilarious!</t:Subject>
                    <t:DateTimeReceived>2013-10-15T20:22:12Z</t:DateTimeReceived>
                    <t:From>
                      <t:Mailbox>
                        <t:Name>Hope Gross</t:Name>
                        <t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=9B55E4100C064D9D8C5F72FF36802ED3-HOPE</t:EmailAddress>
                        <t:RoutingType>EX</t:RoutingType>
                      </t:Mailbox>
                    </t:From>
                  </t:Message>
                </t:Items>
              </t:GroupedItems>
            </t:Groups>
          </m:RootFolder>
        </m:FindItemResponseMessage>
      </m:ResponseMessages>
    </m:FindItemResponse>
  </s:Body>
</s:Envelope>

Diferencias de versiónVersion differences

Las versiones de Exchange que comienzan con la versión principal 15 y terminan con la compilación 15.0.775.38 los elementos de Grupo devuelven (del tipo GroupedItemsType) en vez de los elementos GroupedItems en la respuesta SOAP.Versions of Exchange starting with major version 15 and ending with build 15.0.775.38 return Group elements (of type GroupedItemsType) in place of GroupedItems elements in the SOAP response. Si usa la API administrada de EWS, esto hará que la colección GroupedFindItemsResults. ItemGroups contenga 0 objetos.If you are using the EWS Managed API, this will cause the GroupedFindItemsResults.ItemGroups collection to contain 0 objects. Si usa EWS, los elementos Group deben administrarse como elementos GroupedItems .If you are using EWS, Group elements should be handled as GroupedItems elements.

Las versiones de Exchange que comienzan con la versión principal 15 devuelven elementos adicionales Group o GroupedItems con el atributo xsi: nil establecido en true en la respuesta SOAP.Versions of Exchange starting with major version 15 return extra Group or GroupedItems elements with the xsi:nil attribute set to true in the SOAP response. Si usa la API administrada de EWS, estos elementos adicionales harán que se inicie una ServiceXmlDeserializationException .If you are using the EWS Managed API, these extra elements will cause a ServiceXmlDeserializationException to be thrown. Si está usando EWS, estos elementos adicionales deben omitirse.If you are using EWS, these extra elements should be ignored.

Vea tambiénSee also