自動検出を使用して構成情報を更新するRefresh configuration information by using Autodiscover

自動検出を使用して、Exchange 接続の構成情報をいつまたどのように更新するかについて説明します。Learn how and when to refresh configuration information for your Exchange connection by using Autodiscover.

EWS アプリケーションを初めて実行するとき、自動検出は、ユーザーの Exchange メールボックスに接続するために必要な情報を収集する優れた方法です。しかし、自動検出は初めての使用だけに適しているわけではありません。定期的に自動検出を使用することで、アプリケーションを Exchange 展開の変化に対応させ、接続状態を保持することができます。When your EWS application runs for the first time, Autodiscover provides a great way for you to collect the information you need in order to connect to your user's Exchange mailbox. But Autodiscover isn't just for first time use. Using Autodiscover on a regular basis can help keep your application connected by enabling it to respond to changes in the Exchange deployment.

自動検出エンドポイントおよび EWS 設定のキャッシュCache Autodiscover endpoint and EWS settings

自動検出を定期的に使用することをお勧めしますが、これを行うには考慮すべき事項があります。環境の変化に対する迅速な対応と、数多く生成される不要なネットワーク トラフィックとのバランスをとるのが理想的です。アプリケーションが初めて自動検出応答に成功した場合、EWS 要求を送信するたびに自動検出プロセスを繰り返さなくてもいいように、次の情報を保存してください。While we recommend that you use Autodiscover regularly, how regularly you use it requires some consideration. Ideally you can balance responding quickly to changes in the environment against generating too much unnecessary network traffic. When your application gets a successful Autodiscover response for the first time, you should save the following information so that you do not have to repeat the Autodiscover process every time you send an EWS request.

表 1. 自動検出要求に関してキャッシュする情報Table 1. Information to cache for Autodiscover requests

キャッシュする設定Setting to cache 有効期間Valid for… 詳細Details
自動検出エンドポイントAutodiscover endpoint
動作中As long as it works
正常な応答が返された自動検出エンドポイントを保存すると、自動検出エンドポイントの一覧を生成して、正常な応答を取得するまで自動検出プロセスを繰り返す必要はありません。When you save the Autodiscover endpoint that returned a successful response, you do not have to repeat the process of generating a list of Autodiscover endpoints and trying them until you get a successful response.

: EWS のマネージ API は、自動検出エンドポイントのキャッシュをサポートしていません。NOTE: The EWS Managed API does not support caching the Autodiscover endpoint.
EWS URL および自動検出応答から取得したその他の設定EWS URL and any other settings retrieved from the Autodiscover response
1週間One week
EWS URL およびその他の関連設定を保存することによって、EWS 要求ごとに、またはアプリケーションを再起動するときに、新しい自動検出要求を送信する必要はありません。By saving the EWS URL and other related settings, you do not have to send a new Autodiscover request for each EWS request or if your application restarts. ただし、EWS URL が動作するとしても、より最適なサーバーが使用可能な場合があります。However, even if an EWS URL works for your user, a server might be available that is more optimal.

たとえば、ユーザーのメールボックスが新しいメールボックス サーバーに移動され、新しい優先 EWS エンドポイントが生成されるという場合です。For example, the user's mailbox might have moved to a new mailbox server, resulting in a new preferred EWS endpoint. 前回の自動検出要求から1週間後に、新しい自動検出要求を送信して、ユーザー設定を更新することをお勧めします。We recommend that you refresh your user settings by sending a new Autodiscover request after one week has passed since your last Autodiscover request. この時間は、アプリケーションの要件を満たすように調整することができます。This time can be adjusted to meet the requirements of your application.

キャッシュされた構成情報を更新するRefresh cached configuration information

情報をキャッシュしたので、今度はそのキャッシュを最新の状態に保つ方法について調べてみましょう。次の場合に、キャッシュされた情報を更新することをお勧めします。Now that you have the information cached, let's examine how you can keep that cache fresh. We recommend that you refresh your cached information when:

  • 情報の有効期間の期限が切れている場合。The information's validity period expires.

  • 接続関連のエラーが発生し、キャッシュされた情報が1時間前に最後に更新されたことを示します。A Connection-related error occurs AND your cached information was last refreshed over an hour ago.

キャッシュされた情報を更新するには、キャッシュされた自動検出エンドポイントに自動検出要求を送信し、次の操作を行います。To refresh your cached information, send an Autodiscover request to a cached Autodiscover endpoint, and do the following:

  • 要求が成功したら、応答の EWS エンドポイントとキャッシュされた EWS エンドポイントを比較し、次の操作を行います。If the request succeeds, compare the EWS endpoint in the response with the cached EWS endpoint, and do the following:

    • 2 つのエンドポイントが異なる場合は、新しい EWS エンドポイントを使用します。エラーから回復するために更新する場合は、新しいエンドポイントを使用して失敗した要求を再試行してください。If they are different, use the new EWS endpoint. If you're refreshing to recover from an error, retry the failed request with the new endpoint.

    • 2 つのエンドポイントが同じ場合は、元の EWS エンドポイントを引き続き使用します。エラーから回復するために更新する場合は、必要に応じてエラーを処理します。If they are the same, continue to use the original EWS endpoint. If you're refreshing to recover from an error, handle the error as appropriate.

  • 要求が失敗した場合は、自動検出プロセスを最初から開始します。正常な応答を取得したら、キャッシュされた自動検出エンドポイントを、正常な自動検出エンドポイントに置き換え、新しい EWS エンドポイントを引き続き使用します。正常な応答を取得できなかった場合は、引き続き元の自動検出エンドポイントと EWS エンドポイントを使用します。エラーから回復するために更新する場合は、必要に応じてエラーを処理します。If the request fails, start the Autodiscover process from the beginning. After you get a successful response, replace the cached Autodiscover endpoint with the Autodiscover endpoint that succeeded and continue to use the new EWS endpoint. If you do not get a successful response, continue to use the original Autodiscover endpoint and EWS endpoint. If you're refreshing to recover from an error, handle the error as appropriate.

次の図は、このプロセスを視覚的に表したものです。The following figure provides a visual representation of this process.

図 1. 自動検出を使用して構成情報を更新するプロセスFigure 1. Process for refreshing configuration information by using Autodiscover

模式図は自動検出が構成情報を更新する方法を示しています。

キャッシュされた構成情報を更新すると、すべてではありませんが、一部のエラーを解決することができます。Refreshing your cached configuration information can help with some errors, but not all.

表 2. キャッシュの更新によって解決するエラーTable 2. Errors addressed by refreshing your cache

エラーError EWS マネージ API の実装EWS Managed API implementation Notes
DNS またはネットワーク障害のエラーDNS or network failure errors

例: Host name could not be found. (ホスト名が見つかりませんでした。)Example: Host name could not be found.
ServiceRemoteExceptionServiceRemoteException
サーバーが見つからないか、サーバーにアクセスできなかったことを示すすべてのエラーは、自動検出を試みることによって解決される場合があります。Any error that indicates that the server could not be found or could not be reached might be resolved by trying Autodiscover.

キャッシュされた EWS エンドポイントが有効ではなくなった可能性があります。自動検出によって新しいサーバーに誘導できる場合があります。Your cached EWS endpoint might no longer be valid, and Autodiscover might be able to point you to the new server.
HTTP の状態エラーHTTP status errors

例: 503 Service Unavailable (503 サービスを利用できません)Example: 503 Service Unavailable
ServiceRemoteExceptionServiceRemoteException
HTTP の状態エラーはさまざまな理由で発生します。HTTP status errors can happen for many different reasons.

ただし、自動検出を実行して、ユーザーが新しい EWS エンドポイントを利用できるかどうか調べることをお勧めします。However, it's a good idea to try Autodiscover to see if a new EWS endpoint is available for the user.
EWS のエラー コードEWS error codes

例: ErrorConnectionFailedExample: ErrorConnectionFailed
ResponseCodeTypeResponseCodeType
ほとんどの EWS のエラー コードは、構成情報の更新の根拠にはなりません。Most EWS error codes don't warrant refreshing your configuration information.

ただし、次のエラー コードは、構成情報を更新する必要があることを明確に示しています。However, the following specifically indicate that the configuration information needs to be updated:
- ErrorConnectionFailed- ErrorConnectionFailed
- ErrorMailboxMoveInProgress- ErrorMailboxMoveInProgress

関連項目See also