Exchange の EWS アプリケーションのトラブルシューティングに使用するツールとリソース
EWS マネージ API アプリケーションまたは EWS アプリケーションのトラブルシューティングに役立つリソースを紹介します。
物事は計画どおりに進まないことがあります。 ときには EWS の要求が失敗することや、予期しない結果が生じることがあります。 これは、特に理由が明らかでないときにはイライラするかもしれません。 この状況に陥らないことが何よりですが、もしものために、この記事では問題のトラブルシューティングに役立つツールとリソースに関する情報をご提供します。
注:
この記事では、一般的なトラブルシューティングのアドバイスと、トラブルシューティング情報のソースを提供します。 残念なことに、トラブルシューティング手順の詳細について説明することはできません。 特定のエラーをトラブルシューティングする際の支援については、「次の手順」をご参照ください。
SOAP の要求と応答を調べる
物事が適切に動作しないときには、何が起こっているかが確認できると、とても助かります。 EWS または EWS マネージ API に関わる問題を調査しているときに最初に調べることは、アプリケーションがネットワークを通じて送信している要求とサーバーが送り返してきた応答を調べることです。
EWS マネージ API には組み込みのトレース機能があるため、SOAP の要求と応答を簡単に調べることができます。 EWS を使用している場合、同様のトレース機能にアクセスできるかどうかは、要求の送信に使用しているプラットフォームやクラスによって決まります。 ただし、Network Monitor や Fiddler などのネットワーク トレース ツールは、ネットワーク トラフィックを調べたり、要求と応答のペイロードを表示したりするためにいつでも使用できます。
さらに、クライアントの要求をインストルメント化することで、要求と応答から得られる情報の質が高まります。
要求と応答が得られたら、次の点を自問してください。正しく見えるかどうか。 アプリケーションが送信する値は想定されていますか? 応答は意味がありますか?
エラー コードを調べる
エラー コードは、一見無意味に見えるものであっても、問題を特定するために非常に役立つことがあります。 クライアントが調整されていることをエラーが示していないか。 おそらく構成情報を更新するための自動検出の呼び出しが適切であるか。
特定のエラー処理の詳細については、次の記事をご参照ください。
バージョンを確認する
EWS 操作に関連するコンポーネントは数種類あり、それらのコンポーネントのバージョンが結果に影響することがあります。
表 1. EWS プロセスに影響する可能性のあるバージョン付きコンポーネント
コンポーネント | EWS マネージ API | EWS | メモ |
---|---|---|---|
要求されるサーバーのバージョン |
ExchangeServiceBase.RequestedServerVersion プロパティ |
RequestServerVersion 要素 |
この値により、EWS 要求の処理に使用される EWS スキーマのバージョンが制御されます。 ここで指定されたスキーマのバージョンが、送信する要求に適していることを確認します。 一部のプロパティと操作は、以前のスキーマのバージョンでは利用できません。 |
サーバーのバージョン |
ExchangeServiceBase.ServerInfo プロパティ |
ServerVersionInfo 要素 |
この値は EWS の応答でサーバーから返され、応答を処理したサーバーのバージョンを表します。 この値が期待していたものであることを確認します。 可能な場合は、Exchange サーバーが Exchange のメジャー バージョンに向けた最新の更新プログラムを実行していることを確認します。 |
EWS マネージ API のバージョン |
Microsoft.Exchange.WebServices.dll ファイルの製品バージョン プロパティ。 |
該当なし |
EWS マネージ API を使用している場合は、最新のバージョンを使用していることを確認します。 |
アクセスを確認する
EWS は既定で有効化されていますが、既定値は変更可能です。 Get-OrganizationConfig コマンドレットを使用して EWS がサーバー上で有効化されていることを確認し、Get-CASMailbox コマンドレットを使用して EWS がユーザーのメールボックスに対して有効化されていることを確認します。 また、EWS の許可または禁止リストについて両方のコマンドレットの応答を調べて、目的のアプリケーションが EWS の使用を禁止されていないことも確認します。
さらに、EWS 仮想ディレクトリの既定の認証設定が変更されていないことも確認する必要があります。
別の EWS クライアントを試してみる
ときには別のクライアントから同じ要求を試してみて、結果を比較することが役立つことがあります。 別のクライアントの結果が異なっているならば、違いは何でしょうか。 成功した要求と失敗した要求の違いを見つけることは、特定の要求が失敗する理由を説明する際に役立つことがあります。
テストに使用する別のクライアントを記述することもできますが、その必要はありません。 EWSEditor は、EWS マネージ API と EWS を使用するサンプル クライアントです。 このクライアントはダウンロードが可能です (ソース コードを含む)。これを使用して、目的のアプリケーションで失敗したものと同じ要求を試してみることができます。
IIS のログを調べる
Exchange サーバーにアクセスしている場合は、クライアント アクセス サーバー上のインターネット インフォメーション サービス (IIS) が提供するログ記録機能により、失敗に関する詳細な情報が得られます。 ただし、IIS のログは HTTP エラーを受信した場合にのみ役立つものだという点に注意してください。
IIS には、2 種類のログ記録方式があります。IIS ログ記録と失敗した要求のトレースです。 IIS のログを扱う場合は、いくつかの組み込み EWS クエリが含まれている Log Parser Studio を使用できます。
次の手順
トラブルシューティングに使用できるツールとリソースについて理解すると、それらのツールが提示する情報を理解するための支援が必要になることでしょう。 次に、支援を得るためのオプションを示します。
Q&A の Exchange Server 開発者フォーラム — Q&A Exchange Server 開発者コミュニティに質問してください。
StackOverflow — StackOverflow コミュニティに質問してください。 投稿には必ず "ews" のタグを付けてください。
Microsoft サポート — Microsoft サポート担当者にお問い合わせください。
関連項目
次の記事をご覧ください。
次のものをダウンロードしてください。