Exchange で EWS を使用して、サービス構成情報を取得する
Exchange の EWS から UM、ポリシー微調整、メールのヒント、保護ルールのサービス構成情報を取得する方法を紹介します。
EWS アプリケーションが、ユニファイド メッセージング (UM)、ポリシー微調整、メールのヒント、保護ルールと連携している場合、 アプリケーションは GetServiceConfiguration 操作を呼び出して、必要なサービス構成情報を取得する必要があります。 GetServiceConfiguration 操作では、EWS のこれらの機能のそれぞれに固有の構成情報が返されます。
注:
EWS マネージ API はこの機能を実装していません。
表 1. GetServiceConfiguration 操作によって返される構成情報
EWS の機能 | GetServiceConfiguration 操作によって返されるもの |
---|---|
UM |
|
ポリシー微調整 |
|
メールのヒント |
|
保護ルール |
|
コード例: EWS を使用して、メールのヒントのサービス構成情報を取得する
次のコード例では、GetServiceConfiguration 操作を使用して、メールのヒントのサービス構成情報を要求します。 別の値の ConfigurationName 要素をさらに追加して、追加のサービス構成情報を要求することができます。
private static void GetServiceConfiguration(ExchangeService service, NetworkCredential creds)
{
// XML for the GetServiceConfiguration request SOAP envelope for mail tips configuration information.
const string getServiceConfigurationRequest =
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
" xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"\n" +
" xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\" \n" +
" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"\n" +
" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" +
" <soap:Header>\n" +
" <t:RequestServerVersion Version=\"Exchange2013\" />\n" +
" </soap:Header>\n" +
" <soap:Body>\n" +
" <m:GetServiceConfiguration>\n" +
" <m:ActingAs>\n" +
" <t:EmailAddress>user1@contoso.com</t:EmailAddress>\n" +
" <t:RoutingType>SMTP</t:RoutingType>\n" +
" </m:ActingAs>\n" +
" <m:RequestedConfiguration>\n" +
" <m:ConfigurationName>MailTips</m:ConfigurationName>\n" +
" </m:RequestedConfiguration>\n" +
" </m:GetServiceConfiguration>\n" +
" </soap:Body>\n" +
"</soap:Envelope>";
// Encoded GetServiceConfiguration operation request.
byte[] payload = System.Text.Encoding.UTF8.GetBytes(getServiceConfigurationRequest);
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(service.Url);
request.AllowAutoRedirect = false;
request.Credentials = creds;
request.Method = "POST";
request.ContentType = "text/xml";
Stream requestStream = request.GetRequestStream();
requestStream.Write(payload, 0, payload.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine("You will need to parse this response to get the configuration information:\n\n" + responseFromServer);
reader.Close();
responseStream.Close();
}
else
throw new WebException(response.StatusDescription);
}
catch (WebException e)
{
Console.WriteLine(e.Message);
}
}
次の手順
サービス構成情報の要求後、XmlDocument クラスを使用して応答 XML を読み込み、それを解析できるようにします。 またシナリオに応じて、次のいずれかの操作を行います。
GetMailTips 操作を使用して、クライアント アプリケーションがユーザーに表示するためのメールのヒントを取得する。
電話を介してメールボックス アイテムを再生する方法を理解する (UM が有効な場合)。