Obter informações de configuração de serviço usando o EWS no Exchange
Descubra como obter informações de configuração de serviço para um, empurrões de política, dicas de email e regras de proteção do EWS no Exchange.
O aplicativo EWS funciona com o UM (Unified Messaging), as dicas de política, as dicas de email ou as regras de proteção? Nesse caso, seu aplicativo precisará chamar a operação GetServiceConfiguration para obter as informações de configuração de serviço necessárias. A operação GetServiceConfiguration retorna informações de configuração específicas para cada um desses recursos EWS.
Observação
A API gerenciada EWS não implementa essa funcionalidade.
Tabela 1. Informações de configuração que a operação GetServiceConfiguration retorna
Recurso EWS | A operação GetServiceConfiguration retorna... |
---|---|
UM |
|
Empurrões de política |
|
Dicas de email |
|
Regras de proteção |
|
Exemplo de código: obter informações de configuração de serviço para dicas de email usando o EWS
O exemplo de código a seguir usa a operação GetServiceConfiguration para solicitar informações de configuração de serviço para dicas de email. Você pode solicitar informações adicionais de configuração de serviço adicionando mais elementos ConfigurationName com valores diferentes.
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);
}
}
Próximas etapas
Depois de solicitar informações de configuração de serviço, use a classe XmlDocument para carregar o XML de resposta para que você possa analisá-la. Em seguida, dependendo do cenário, você pode fazer um dos seguintes procedimentos:
Use a operação GetMailTips para obter dicas de email para aplicativos cliente serem exibidos aos usuários.
Se o UM estiver habilitado, saiba mais sobre como reproduzir itens de caixa de correio pelo telefone.