' Here is a code sample showing how to read OOF info using EWS from VBScript against an Exchange 2010 SP1 box.

Const strUrl = "https://mail.mycompanyetc.com/ews/exchange.asmx" ' TODO: Change

Const strUser = "myuserid" ' TODO: Change

Const strPass = "mypassword"

Const strDom = "myusersdomain"  ' TODO: Change

Const strEmailAddress = "myemailaddress@myemaildomain.com"  ' TODO: Change

 

Dim oXml

Dim xmlDoc

Dim strXmlData

 

Set oXml = CreateObject("MSXML2.XMLHTTP")

Set xmlDoc = CreateObject("MSXML2.DOMDocument")

 

 

strXmlData = strXmlData & "<?xml version=""1.0"" encoding=""utf-8"" ?> "

strXmlData = strXmlData & "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" "

strXmlData = strXmlData & "xmlns:m=""http://schemas.microsoft.com/exchange/services/2006/messages"" "

strXmlData = strXmlData & "xmlns:t=""http://schemas.microsoft.com/exchange/services/2006/types"" "

strXmlData = strXmlData & "xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">"

strXmlData = strXmlData & "<soap:Header>"

strXmlData = strXmlData & "  <t:RequestServerVersion Version=""Exchange2010_SP1"" /> "

strXmlData = strXmlData & "</soap:Header>"

strXmlData = strXmlData & "<soap:Body>"

strXmlData = strXmlData & "  <m:GetUserOofSettingsRequest>"

strXmlData = strXmlData & "    <t:Mailbox>"

strXmlData = strXmlData & "    <t:Address>"&strEmailAddress &"</t:Address> "

strXmlData = strXmlData & "    </t:Mailbox>"

strXmlData = strXmlData & "  </m:GetUserOofSettingsRequest>"

strXmlData = strXmlData & " </soap:Body>"

strXmlData = strXmlData & "</soap:Envelope>"

 

oXml.open "POST", strUrl, False, strDom & "\" & strUser, strPass

oXml.setRequestHeader "Content-Type", "text/xml"

oXml.send strXmlData

 

If oXml.Status = "200" Then

  If xmlDoc.loadXML(oXml.responseText) Then

    If xmlDoc.documentElement.getElementsByTagName("ResponseMessage").Item(0).Attributes.getNamedItem("ResponseClass").Text = "Success" Then

      wscript.echo "Reply: " & oXml.responseText

    Else

       wscript.echo "Could not get OOF info" & vbCrLf & xmlDoc.xml

  End If

End If

 

Else

  wscript.echo "Error: " & oXml.Status & " - " & oXml.statusText

End If