NAME EWS::Client - Microsoft Exchange Web Services Client VERSION This document refers to version 0.01 of EWS::Client SYNOPSIS Set up your Exchange Web Services client: use EWS::Client; use DateTime; my $ews = EWS::Client->new({ server => 'exchangeserver.example.com', username => 'oliver', password => 's3krit', # or set in $ENV{EWS_PASS} }); Then perform operations on the Exchange server: my $entries = $ews->calendar->retrieve({ start => DateTime->now(), end => DateTime->now->add( month => 1 ), }); print "I retrieved ". $entries->count ." items\n"; while ($entries->has_next) { print $entries->next->Subject, "\n"; } DESCRIPTION This module acts as a client to the Microsoft Exchange Web Services API. From here you can access calendar (and soon, contact) entries in a nicely abstracted fashion. Query results are generally available in an iterator and convenience methods exist to access the properties of each entry. METHODS CONSTRUCTOR EWS::Client->new( \%arguments ) Instantiates a new EWS client. There won't be any connection to the server until you call one of the calendar or contacts retrieval methods. "server" => Fully Qualified Domain Name (required) The host name of the Exchange server to which the module should connect. "username" => String (required) The account username under which the module will connect to Exchange. This value will be URI encoded by the module. "password" => String OR via $ENV{EWS_PASS} (required) The password of the account under which the module will connect to Exchange. This value will be URI encoded by the module. You can also provide the password via the "EWS_PASS" environment variable. "schema_path" => String (optional) A folder on your file system which contains the WSDL and two further Schema files (messages, and types) which describe the Exchange 2007 Web Services SOAP API. They are shipped with this module so your providing this is optional. COMPONENT METHODS There exist separate components to access the calendar (and soon, contacts) entries on the Exchange server, each bundled with this module but having its own manual page. Each component is accessed through a method and follow the links below to learn about the available features. $ews->calendar() Retrieves the EWS::Client::Calendar object which allows search and retrieval of calendar entries. TODO I might look at moving away from XML::Compile::SOAP, which is truely the most awesome of modules, but overkill for ths very small set of static calls. There is currently no handling of time zone information whatsoever. I'm waiting for my timezone to shift to UTC+1 in March before working on this, as I don't really want to read the Exchange API docs. Patches are welcome if you want to help out. REQUIREMENTS * Moose * XML::Compile::SOAP * DateTime * DateTime::Format::ISO8601 * HTML::Strip * URI::Escape AUTHOR Oliver Gorwits "" COPYRIGHT & LICENSE Copyright (c) Oliver Gorwits 2010. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.