19
Exchange Web Services API - Introdução João Tito Lívio http://netpont o.org 23ª Reunião Lisboa - 24/09/2011

Exchange Web Services API - Introducao

Embed Size (px)

Citation preview

Page 1: Exchange Web Services API - Introducao

Exchange Web Services API - IntroduçãoJoão Tito Lívio

http://netponto.org23ª Reunião Lisboa - 24/09/2011

Page 2: Exchange Web Services API - Introducao

Patrocinadores desta reunião

Page 3: Exchange Web Services API - Introducao

Patrocinadores desta reunião

Page 4: Exchange Web Services API - Introducao

João Tito Lívio15 Anos experiência em Tecnologias Microsoft

Helpdesk & TroubleshootingTI/SI (Windows, Unix)Pascal, ClipperVBA, VB.NET (C#, VB.NET)Visual Studio Tools for OfficeSharePoint Development/Administration

Consultor Sharepoint

Microsoft MVP Office Systems Development (2002 – Presente)

Microsoft Certified Techology SpecialistSharePoint 2010, Application Development

Page 5: Exchange Web Services API - Introducao

Agenda

• Binding do Serviço e Manipulação de Mensagens

– O Serviço Autodiscover

– Análise de Código C#

– Métodos para Manipulação de Mensagens Exchange

– O Serviço em Ação

Page 6: Exchange Web Services API - Introducao

Exchange Web Services Managed API

http://www.microsoft.com/download/en/details.aspx?id=13480

Exchange Web Services Managed API 1.1 SDK

O QUE É?PORQUE UTILIZO?

O QUE É?Camada de AbstraçãoFornecido em DLLComunicação Bidirecional com o Web Service do ExchangeServiço de descoberta do Exchange Service (Endpoint)Pode ser Usado na CLOUD ou On Premises

PORQUE UTILIZO? 3 RazõesNão tenho de adicionar uma Web Reference por SERVIDORBasta-me invocar os Métodos, Propriedades, etc.. da APIFacilita muito o Deploy

No Office 365 Só pode ser utilizado nos PLANOS (P), (E) e (EDUCAÇÃO) o (K) fica de foraLive@Edu vai ser Migrado para o Office 365 mas a API Funciona da mesma forma

Page 7: Exchange Web Services API - Introducao

Exchange Web Services Managed APIDO QUE VAMOS FALAR A SEGUIR

› Binding (É um Método)› ExchangeService (= New)› ExchangeService Credenciais› Autodiscover (= New)

› Valores a Propriedades› Obtemos um ASMX

› ExchangeService = ASMX Url› Retorna ExchangeService

› Autodiscover Service (Em Promenor)› Items› E-Mail Messages› Folders› File Attachment’s

Page 8: Exchange Web Services API - Introducao

EWS API – Diagrama de ClassesO QUE FALTA AQUI?

Gestão de Contas e Exchange

TUDO O QUE VÊM AQUI PODE SER FEITO POR POWERSHELL

Page 9: Exchange Web Services API - Introducao

Autodiscover ServiceEsta caixa de Diálogodo Outlook é Familiar?

O que vamos verVai fazer exactamentea mesma coisa

Page 10: Exchange Web Services API - Introducao

Autodiscover Service• TRACE PARA A CLOUD– Credenciais para a Caixa de Correio– Prevenir que não vamos à nossa Active Directory– Para obter o URL de Endpoint (asmx) para a Mailbox

https://amsprdXXXX.outlook.com/EWS/Exchange.asmx

O objeto SCP contêm a lista de URL’s para o Serviço de Autodiscover na Floresta

Page 11: Exchange Web Services API - Introducao

Autodiscover Service SOAP<Trace Tag="AutodiscoverConfiguration" Tid="10" Time="2011-08-02 16:30:13Z">Host returned enabled endpoint flags: Legacy</Trace><Trace Tag="AutodiscoverConfiguration" Tid="10" Time="2011-08-02 16:30:13Z">Trying to get Autodiscover redirection URL from

http://autodiscover.DOMINIO.PT/autodiscover/autodiscover.xml.</Trace><Trace Tag="AutodiscoverConfiguration" Tid="10" Time="2011-08-02 16:30:13Z">

Redirection URL found: 'https://autodiscover-s.OUTLOOK.COM/autodiscover/autodiscover.xml'</Trace><Trace Tag="AutodiscoverConfiguration" Tid="10" Time="2011-08-02 16:30:13Z">Determining which endpoints are enabled for host autodiscover-s.outlook.com</Trace><Trace Tag="AutodiscoverRequestHttpHeaders" Tid="10" Time="2011-08-02 16:30:14Z">POST /autodiscover/autodiscover.svc HTTP/1.1Content-Type: text/xml; charset=utf-8Accept: text/xmlUser-Agent: ExchangeServicesClient/14.02.0051.000</Trace><Trace Tag="AutodiscoverRequest" Tid="10" Time="2011-08-02 16:30:14Z" Version="14.02.0051.000"> <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:a="http://schemas.microsoft.com/exchange/2010/Autodiscover" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <a:RequestedServerVersion>Exchange2010</a:RequestedServerVersion>

<wsa:Action>http://schemas.microsoft.com/exchange/2010/Autodiscover/Autodiscover/GetUserSettings</wsa:Action>

Page 12: Exchange Web Services API - Introducao

Exchange On-Line WSDL

Page 13: Exchange Web Services API - Introducao

Código C# e EWS na Prática

demonstração

Page 14: Exchange Web Services API - Introducao

Links Interessantes

http://exchws.wordpress.com/

http://eol.codeplex.com/

http://msdn.microsoft.com/en-us/exchange/default.aspxExchange Server Developer Center

Blog EWS e PowerShell Toolkit

Projecto Codeplex - Live@Edu and Office 365 Exchange Online Library

Page 15: Exchange Web Services API - Introducao

Questões?

Page 16: Exchange Web Services API - Introducao

Patrocinadores desta reunião

Page 17: Exchange Web Services API - Introducao

Patrocinadores desta reunião

Page 18: Exchange Web Services API - Introducao

Próximas reuniões presenciais

• 24/09/2011 – Setembro (2 anos!)• 29/10/2011 – Outubro• 19/11/2011 – Outubro (Coimbra)• 26/11/2011 – Novembro

Reserva estes dias na agenda! :)

Page 19: Exchange Web Services API - Introducao

Obrigado!

João Tito Lí[email protected] http://pt.linkedin.com/in/jliviohttp://www.facebook.com/jliviohttp://twitter.com/jlivio