def delete_item(message_ids, opts={})
      opts = check_opts(DELETE_ITEM_OPTS, opts)
      message_ids = message_ids.result if message_ids.is_a?(Folder::FindResult)

      r = with_error_check(self, :delete_item_response, :response_messages, :delete_item_response_message) do
        self.savon_client.request(:wsdl, "DeleteItem", :DeleteType=>opts[:delete_type]) do
          http.headers["SOAPAction"] = "\"#{SCHEMA_MESSAGES}/DeleteItem\"" # required by EWS 2007
          soap.namespaces["xmlns:t"]=SCHEMA_TYPES
          
          xml = Builder::XmlMarkup.new

          xml.wsdl :ItemIds do
            message_ids.each do |mid|
              mid = mid.item_id if mid.is_a?(Item::Item)
              xml << mid.to_xml(opts[:ignore_change_keys])
            end
          end

          soap.body = xml.target!
        end
      end
      true
    end
def delete_item(message_ids, opts={})
      opts = check_opts(DELETE_ITEM_OPTS, opts)
      message_ids = message_ids.result if message_ids.is_a?(Folder::FindResult)

      r = with_error_check(self, :delete_item_response, :response_messages, :delete_item_response_message) do
        self.savon_client.request(:wsdl, "DeleteItem", :DeleteType=>opts[:delete_type]) do
          http.headers["SOAPAction"] = "\"#{SCHEMA_MESSAGES}/DeleteItem\"" # required by EWS 2007
          soap.namespaces["xmlns:t"]=SCHEMA_TYPES
          
          xml = Builder::XmlMarkup.new

          xml.wsdl :ItemIds do
            message_ids.each do |mid|
              mid = mid.item_id if mid.is_a?(Item::Item)
              xml << mid.to_xml(opts[:ignore_change_keys])
            end
          end

          soap.body = xml.target!
        end
      end
      true
    end
delete a bunch of Items in one API hit.
 takes a list of <tt>Item::ItemId</tt>s, or a list of <tt>Item::Item</tt>,
 or a <tt>Folder::FindResult</tt> and options to specify DeleteType