in reply to Deleting Exchange Email

What says that "Email::Simple" inherits from SOAP::Lite?

Because it doesn't, so this line is wrong  print $message-> SOAP::Lite::call

If you look inside https://metacpan.org/source/WSMITH/Email-Folder-Exchange-2.0/lib/Email/Folder/Exchange/EWS.pm you can see that the soap object is stored in a soap attribute, so try

my $soap = $folder->soap; $soap.....

Replies are listed 'Best First'.
Re^2: Deleting Exchange Email
by Anonymous Monk on Jan 21, 2014 at 13:15 UTC

    Wow, thanks. I got past the validation portion and now in authentication hell {checked Dante -- no help!}. I am getting

    Client-Warning: Unsupported authentication scheme 'negotiate' Set-Cookie: exchangecookie=ea8a495701ec4aebbe718c3fd0c908ba; expires=W +ed, 21-Jan-2015 13:00:21 GMT; path=/; HttpOnly X-Powered-By: ASP.NET 401 Unauthorized at C:\Perl Scripts\SpectrumemailGW.pl line 44.

    I checked user's privileges to delete email-- ok. Here is what I modified. {lifted some from EWS - I'm clearly an amature }

    my $soap = $folder->soap; $soap->on_action( sub { MESSAGES_NS . "/$_[1]" }); # setup the schemas $soap->ns(TYPES_NS, 't'); $soap->default_ns(MESSAGES_NS); $soap->uri(MESSAGES_NS); # EWS does not like the encodingStyle attribute $soap->encodingStyle(""); my $method = SOAP::Data->name('DeleteItems') ->attr({xmlns => 'https://webmailNY.xxxx.com/ews'}); my @params = ( SOAP::Data->name('Message-ID' => $message_id)); $soap = SOAP::Lite->proxy('https://webmailNY.XXXX.com/ews/exchange.asm +x'); sub SOAP::Transport::HTTP::Client::get_basic_credentials { return ('XX +XX\gsa_spectrum_mb_read' => 'XXXX') }; print $soap-> SOAP::Lite::call($method => @params)->result; print 'end';

      ... now in authentication hell ...

      well, study the source code ... all that on stuff only happens in ->new

      it doesn't happen anywhere place else

      you should not duplicate that , refresh_messages, neither does any other method

      Did I mention I hate SOAP?