def get_user_oof_settings(opts)
      opts = opts.clone
      [:address].each do |k|
        validate_param(opts, k, true)
      end
      req = build_soap! do |type, builder|
        if(type == :header)
        else
        builder.nbuild.GetUserOofSettingsRequest {|x|
          x.parent.default_namespace = @default_ns
          builder.mailbox!(opts)
        }
        end
      end
      do_soap_request(req, response_class: EwsSoapAvailabilityResponse)
    end
def get_user_oof_settings(opts)
      opts = opts.clone
      [:address].each do |k|
        validate_param(opts, k, true)
      end
      req = build_soap! do |type, builder|
        if(type == :header)
        else
        builder.nbuild.GetUserOofSettingsRequest {|x|
          x.parent.default_namespace = @default_ns
          builder.mailbox!(opts)
        }
        end
      end
      do_soap_request(req, response_class: EwsSoapAvailabilityResponse)
    end
-------------- Availability Operations -------------
 Gets a mailbox user's Out of Office (OOF) settings and messages.
 @see http://msdn.microsoft.com/en-us/library/aa563465.aspx
 @param [Hash] opts
 @option opts [String] :address the email address of the user
 @option opts [String] :name the user display name (optional)
 @option opts [String] :routing_type the routing protocol (optional and stupid)