ConvertId 操作

ConvertId EWS 操作に関する情報を検索します。

ConvertId Exchange Web Services (EWS) 操作は、アイテムとフォルダーの識別子を、Exchange Onlineで受け入れられる形式、Office 365の一部としてExchange Onlineする形式、および Exchange Server 2013 以降のオンプレミス バージョンの Exchange に変換します。

ConvertId 操作の使用

ConvertId 操作を使用して、次の識別子を変換できます。

  • Exchange 2007 の初期リリース バージョンの EWS の識別子形式。 これは、IdFormat 列挙型のEwsLegacyId列挙値で表されます。

  • Exchange 2007 SP1 または Exchange 2010 の EWS の識別子形式。 これは、IdFormatEwsId列挙値で表されます。

  • PR_ENTRYID プロパティと同様の MAPI 識別子。 これは、IdFormat 列挙型のEntryId列挙値で表されます。

  • 可用性予定表イベント識別子。 これは、 PR_ENTRYID プロパティの 16 進数でエンコードされた表現です。 これは、IdFormatHexEntryId列挙値で表されます。

  • Exchange ストア識別子。 これは、IdFormatStoreId列挙値で表されます。 ConvertId 操作では、パブリック フォルダー識別子が EWS 識別子からストア識別子に変換されることはありません。

  • Outlook Web App識別子。 これは IdFormatOwaId列挙値で表されます

    この識別子からOutlook Web Appに作成された URL の渡しはサポートされていません。 Outlook Web App識別子は、Exchange 2007 および Exchange 2010 に適用されます。 Exchange Server 2013 以降の Exchange のExchange OnlineとバージョンのOutlook Web Appは、EWS 識別子を使用します。

EWS 識別子から Exchange Online exchange 2013 のストア識別子にパブリック フォルダー識別子を変換する場合、ConvertId 操作は期待どおりに機能しません。 回避策として、返された識別子を手動で更新してください。 識別子を手動で更新するには:

  1. アプリケーション コードで、ターゲットアイテム/フォルダーがパブリック フォルダー内にあるかどうかを判断します。

  2. Base64 でエンコードされた識別子文字列をデコードします。

  3. 型バイト (21 番目のバイト) の値が 7 であることを確認します。 値 7 は、識別子が正しくない形式であることを示します。

  4. 最初の 4 バイトをスキップします。 これらは 0 に設定する必要があります。

  5. 次の 16 バイトを GUID で更新します。 1A447390AA6611CD9BC800AA002FC45A

  6. 値 9 で次のバイト (型バイト) を更新します。

  7. 識別子を Base64 でエンコードされた文字列に変更します。

注:

ConvertId 操作は、特定の SMTP アドレスに有効な形式があることを検証します。 この操作では、SMTP アドレスが有効なメールボックスを表しているかどうかを判断しません。

ConvertId 操作では、次の表に示す SOAP ヘッダーを使用できます。

表 1. ConvertId 操作 SOAP ヘッダー

Header 要素 説明
偽装
ExchangeImpersonation
クライアント アプリケーションが偽装しているユーザーを識別します。 これは要求に適用されます。
RequestVersion
RequestServerVersion
操作要求のスキーマ バージョンを識別します。これは要求に適用されます。
ServerVersion
ServerVersionInfo
要求に応答したサーバーのバージョンを識別します。 これは応答に適用されます。

ConvertId 操作要求の例

ConvertId 要求の次の例は、EWS 識別子からOutlook Web App識別子に変換する方法を示しています。

この操作を機能させるには、SOAP ヘッダーの RequestServerVersion 要素を Exchange2007_SP1 以降に設定する必要があります。

注:

読みやすさを維持するために、項目識別子が短縮されました。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010"/>
  </soap:Header>
  <soap:Body>
    <ConvertId xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
               xmlns:t="https://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>

ConvertId 操作の応答の例

次の例は、 ConvertId 要求に対する正常な応答を示しています。 この応答例には、Outlook Web App識別子が含まれています。

注:

読みやすくするために、Outlook Web App識別子が短縮されました。

<?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="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <ConvertIdResponse xmlns="https://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>

ConvertId 操作エラー応答の例

次の例は、間違った種類の識別子形式を含む要求への応答を示しています。

<?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="https://schemas.microsoft.com/exchange/services/2006/types" />
  </soap:Header>
  <soap:Body>
    <ConvertIdResponse xmlns="https://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>

バージョンの相違点

EWS 識別子の形式は、Exchange 2007 の初期リリース バージョンと Exchange 2007 Service Pack 1 (SP1) の間で変更されました。 Exchange Online Exchange 2010 以降の Exchange のOffice 365、Exchange Online、およびオンプレミスのバージョンの一部として、Exchange 2007 SP1 と同じ識別子形式が使用されます。

ConvertId 操作は、パブリック フォルダー識別子を EWS 識別子から Exchange 2007 および Exchange 2010 のストア識別子に変換します。

関連項目