ConvertId-Vorgang
Hier finden Sie Informationen zum EWS-Vorgang ConvertId .
Der EwS-Vorgang (ConvertId Exchange Web Services) konvertiert Element- und Ordnerbezeichner zwischen Formaten, die von Exchange Online akzeptiert werden, Exchange Online als Teil von Office 365 und lokalen Versionen von Exchange ab Exchange Server 2013.
Verwenden des ConvertId-Vorgangs
Sie können die folgenden Bezeichner mithilfe des ConvertId-Vorgangs konvertieren:
Das Bezeichnerformat für EWS in der ersten Version von Exchange 2007. Dies wird durch den
EwsLegacyId
Enumerationswert in der IdFormat-Enumeration dargestellt.Das Bezeichnerformat für EWS in Exchange 2007 SP1 oder Exchange 2010. Dies wird durch den
EwsId
Enumerationswert in IdFormat dargestellt.Der MAPI-Bezeichner wie in der eigenschaft PR_ENTRYID . Dies wird durch den
EntryId
Enumerationswert in der IdFormat-Enumeration dargestellt.Der Ereignisbezeichner des Verfügbarkeitskalenders. Dies ist eine hexadezimal codierte Darstellung der PR_ENTRYID-Eigenschaft . Dies wird durch den
HexEntryId
Enumerationswert in IdFormat dargestellt.Der Exchange-Speicherbezeichner. Dies wird durch den
StoreId
Enumerationswert in IdFormat dargestellt. Der ConvertId-Vorgang konvertiert keine Bezeichner für öffentliche Ordner vom EWS-Bezeichner in den Speicherbezeichner.Der Outlook Web App-Bezeichner. Dies wird durch den
OwaId
Enumerationswert in IdFormat dargestellt.Die Übergabe von URLs, die von diesem Bezeichner an Outlook Web App erstellt werden, wird nicht unterstützt. Der Outlook Web App-Bezeichner gilt für Exchange 2007 und Exchange 2010. Outlook Web App für Exchange Online und Versionen von Exchange ab Exchange Server 2013 verwendet EWS-Bezeichner.
Der ConvertId-Vorgang funktioniert nicht wie erwartet, wenn Bezeichner öffentlicher Ordner vom EWS-Bezeichner in den Speicherbezeichner in Exchange Online und Exchange 2013 konvertiert werden. Zur Problemumgehung können Sie die zurückgegebene Kennung manuell anpassen. So aktualisieren Sie den Bezeichner manuell:
Bestimmen Sie in Ihrem Anwendungscode, ob sich das Zielelement/der Zielordner in einem öffentlichen Ordner befindet.
Decodieren Sie die Base64-codierte Bezeichnerzeichenfolge.
Überprüfen Sie, ob das Typbyte (21. Byte) den Wert 7 aufweist. Der Wert 7 gibt an, dass der Bezeichner das falsche Format aufweist.
Überspringen Sie die ersten vier Bytes. Sie müssen auf 0 (null) festgelegt werden.
Aktualisieren Sie die nächsten 16 Bytes mit der folgenden GUID: 1A447390AA6611CD9BC800AA002FC45A
Aktualisieren Sie das nächste Byte (Typbyte) mit dem Wert 9.
Ändern Sie den Bezeichner in eine Base64-codierte Zeichenfolge.
Hinweis
Der ConvertId-Vorgang überprüft, ob eine angegebene SMTP-Adresse ein gültiges Format hat. Der Vorgang bestimmt nicht, ob eine SMTP-Adresse ein gültiges Postfach darstellt.
Der ConvertId-Vorgang kann die SOAP-Header verwenden, die in der folgenden Tabelle aufgeführt sind.
Tabelle 1. ConvertId-Vorgang SOAP-Header
Header | Element | Beschreibung |
---|---|---|
Identitätswechsel |
ExchangeImpersonation |
Identifiziert den Benutzer, für den die Clientanwendung einen Identitätswechsel durchführt. Dies gilt für eine Anforderung. |
RequestVersion |
RequestServerVersion |
Gibt die Schemaversion für die Vorgangsanforderung an. Dies gilt für eine Anforderung. |
ServerVersion |
ServerVersionInfo |
Gibt die Version des Servers an, der auf die Anforderung geantwortet hat. Dies gilt für eine Antwort. |
Beispiel für eine ConvertId-Vorgangsanforderung
Das folgende Beispiel einer ConvertId-Anforderung zeigt, wie sie von einem EWS-Bezeichner in einen Outlook Web App-Bezeichner konvertieren.
Das RequestServerVersion-Element im SOAP-Header muss auf Exchange2007_SP1 oder höher festgelegt werden, damit dieser Vorgang funktioniert.
Hinweis
Der Elementbezeichner wurde gekürzt, um die Lesbarkeit zu erhalten.
<?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>
Beispiel für eine ConvertId-Vorgangsantwort
Das folgende Beispiel zeigt eine erfolgreiche Antwort auf eine ConvertId-Anforderung . Dieses Antwortbeispiel enthält einen Outlook Web App Bezeichner.
Hinweis
Der Outlook Web App-Bezeichner wurde gekürzt, um die Lesbarkeit zu erhalten.
<?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>
Beispiel für fehlerantwort beim ConvertId-Vorgang
Das folgende Beispiel zeigt die Antwort auf eine Anforderung, die den falschen Typ des Bezeichnerformats enthält.
<?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>
Versionsunterschiede
Das EWS-Bezeichnerformat wurde zwischen der anfänglichen Version von Exchange 2007 und Exchange 2007 Service Pack 1 (SP1) geändert. Exchange Online als Teil von Office 365-, Exchange Online- und lokalen Versionen von Exchange ab Exchange 2010 das gleiche Bezeichnerformat wie Exchange 2007 SP1 verwenden.
Der ConvertId-Vorgang konvertiert Bezeichner für öffentliche Ordner vom EWS-Bezeichner in den Speicherbezeichner in Exchange 2007 und Exchange 2010.