Operação ConvertId
Encontre informações sobre a operação ConvertId EWS.
A operação ConvertId Exchange Web Services (EWS) converte identificadores de item e pasta entre formatos aceitos por Exchange Online, Exchange Online como parte de Office 365 e versões locais do Exchange começando com Exchange Server 2013.
Usando a operação ConvertId
Você pode converter os seguintes identificadores usando a operação ConvertId :
O formato do identificador para EWS na versão inicial do Exchange 2007. Isso é representado pelo valor de
EwsLegacyId
enumeração na enumeração IdFormat .O formato de identificador para EWS no Exchange 2007 SP1 ou Exchange 2010. Isso é representado pelo valor de
EwsId
enumeração no IdFormat.O identificador MAPI, como na propriedade PR_ENTRYID . Isso é representado pelo valor de
EntryId
enumeração na enumeração IdFormat .O identificador de eventos do calendário de disponibilidade. Esta é uma representação hexadecimal codificada da propriedade PR_ENTRYID . Isso é representado pelo valor de
HexEntryId
enumeração no IdFormat.O identificador do exchange store. Isso é representado pelo valor de
StoreId
enumeração no IdFormat. A operação ConvertId não converte identificadores de pastas públicas do identificador EWS no identificador do repositório.O identificador Outlook Web App. Isso é representado pelo valor de
OwaId
enumeração no IdFormatNão há suporte para a passagem de URLs criadas desse identificador para Outlook Web App. O identificador Outlook Web App é aplicável ao Exchange 2007 e ao Exchange 2010. Outlook Web App para Exchange Online e versões do Exchange começando com Exchange Server 2013 usa identificadores EWS.
A operação ConvertId não funciona conforme o esperado ao converter identificadores de pastas públicas do identificador EWS no identificador do repositório no Exchange Online e no Exchange 2013. Você pode atualizar manualmente o identificador que é retornado como uma solução alternativa. Para atualizar manualmente o identificador:
No código do aplicativo, determine se o item/pasta de destino está em uma pasta pública.
Decodificar a cadeia de caracteres do identificador codificado base64.
Verifique se o byte de tipo (21º byte) tem um valor de 7. Um valor de 7 indica que o identificador está no formato incorreto.
Ignore os quatro primeiros bytes. Eles devem ser definidos como zero.
Atualize os próximos 16 bytes com o seguinte GUID: 1A447390AAA6611CD9BC800AAA002FC45A
Atualize o próximo byte (byte de tipo) com um valor de 9.
Altere o identificador para uma cadeia de caracteres codificada por Base64.
Observação
A operação ConvertId valida que um determinado endereço SMTP tem um formato válido. A operação não determina se um endereço SMTP representa uma caixa de correio válida.
A operação ConvertId pode usar os cabeçalhos SOAP listados na tabela a seguir.
Tabela 1. Cabeçalhos SOAP da operação ConvertId
Header | Elemento | Descrição |
---|---|---|
Representação |
ExchangeImpersonation |
Identifica o usuário que o aplicativo cliente está representando. Isso é aplicável a uma solicitação. |
RequestVersion |
RequestServerVersion |
Identifica a versão do esquema para a solicitação de operação Isso é aplicável a uma solicitação. |
Serverversion |
ServerVersionInfo |
Identifica a versão do servidor que respondeu à solicitação. Isso é aplicável a uma resposta. |
Exemplo de solicitação de operação ConvertId
O exemplo a seguir de uma solicitação ConvertId mostra como converter de um identificador EWS em um identificador Outlook Web App.
O elemento RequestServerVersion no cabeçalho SOAP deve ser definido como Exchange2007_SP1 ou posterior para que essa operação funcione.
Observação
O identificador de item foi encurtado para preservar a legibilidade.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2010"/>
</soap:Header>
<soap:Body>
<ConvertId xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
DestinationFormat="OwaId">
<SourceIds>
<t:AlternateId Format="EwsId" Id="AAMkAGZhN2IxYTA0LWNiNzItN="
Mailbox="user1@example.com"/>
</SourceIds>
</ConvertId>
</soap:Body>
</soap:Envelope>
Exemplo de resposta à operação ConvertId
O exemplo a seguir mostra uma resposta bem-sucedida a uma solicitação ConvertId . Este exemplo de resposta contém um identificador de Outlook Web App.
Observação
O identificador Outlook Web App foi encurtado para preservar a legibilidade.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<t:ServerVersionInfo MajorVersion="8" MinorVersion="1"
MajorBuildNumber="191" MinorBuildNumber="0"
Version="Exchange2010"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ConvertIdResponse xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseMessages>
<ConvertIdResponseMessage ResponseClass="Success">
<ResponseCode>NoError</ResponseCode>
<AlternateId xsi:type="t:AlternateIdType" Format="OwaId" Id="RgAAAAAS2%2"
Mailbox="user@example.com" />
</ConvertIdResponseMessage>
</ResponseMessages>
</ConvertIdResponse>
</soap:Body>
</soap:Envelope>
Exemplo de resposta de erro da operação ConvertId
O exemplo a seguir mostra a resposta a uma solicitação que contém o tipo errado de formato de identificador.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ServerVersionInfo MajorVersion="8" MinorVersion="1"
MajorBuildNumber="206" MinorBuildNumber="0"
Version="Exchange2010"
xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
</soap:Header>
<soap:Body>
<ConvertIdResponse xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ResponseMessages>
<ConvertIdResponseMessage ResponseClass="Error">
<MessageText>Id is malformed.</MessageText>
<ResponseCode>ErrorInvalidIdMalformed</ResponseCode>
<DescriptiveLinkKey>0</DescriptiveLinkKey>
</ConvertIdResponseMessage>
</ResponseMessages>
</ConvertIdResponse>
</soap:Body>
</soap:Envelope>
Diferenças de versão
O formato do identificador EWS foi alterado entre a versão inicial do Exchange 2007 e o Exchange 2007 Service Pack 1 (SP1). Exchange Online como parte das versões Office 365, Exchange Online e locais do Exchange a partir do Exchange 2010 usam o mesmo formato de identificador que o Exchange 2007 SP1 usa.
A operação ConvertId converte identificadores de pastas públicas do identificador EWS no identificador do repositório no Exchange 2007 e no Exchange 2010.