yu
Ik heb dus een console application aangemaakt met deze code:
Code:
Option Explicit On
Option Strict On
Module module1
Sub main()
Dim Request As System.Net.HttpWebRequest
Dim Response As System.Net.HttpWebResponse
Dim MyCredentialCache As System.Net.CredentialCache
Dim strPassword As String
Dim strDomain As String
Dim strUserName As String
Dim strCalendarURI As String
Dim strQuery As String
Dim bytes() As Byte
Dim RequestStream As System.IO.Stream
Dim ResponseStream As System.IO.Stream
Dim ResponseXmlDoc As System.Xml.XmlDocument
Dim HrefNodes As System.Xml.XmlNodeList
Dim SubjectNodeList As System.Xml.XmlNodeList
Dim LocationNodeList As System.Xml.XmlNodeList
Dim StartTimeNodeList As System.Xml.XmlNodeList
Dim EndTimeNodeList As System.Xml.XmlNodeList
Dim BusyStatusNodeList As System.Xml.XmlNodeList
Dim InstanceTypeNodeList As System.Xml.XmlNodeList
Dim OrganizerNodeList As System.Xml.XmlNodeList
Try
strUserName = !user!
strPassword = !pass!
strDomain = !domein!
strCalendarURI = "http://!domein!/exchange/!virtual_user!/calendar/"
strQuery = "<?xml version=""1.0""?>" & _
"<a:searchrequest xmlns:a=""DAV:"">" & _
"<a:sql>SELECT ""urn:schemas:calendar:location"", ""urn:schemas:httpmail:subject"", " & _
"""urn:schemas:calendar:dtstart"", ""urn:schemas:calendar:dtend"", " & _
"""urn:schemas:calendar:busystatus"", ""urn:schemas:calendar:instancetype"", ""urn:schemas:calendar:organizer"" " & _
"FROM Scope('SHALLOW TRAVERSAL OF """ & strCalendarURI & """') " & _
"WHERE NOT ""urn:schemas:calendar:instancetype"" = 1 " & _
"AND ""DAV:contentclass"" = 'urn:content-classes:appointment' " & _
"AND ""urn:schemas:calendar:dtstart"" > '2003/06/01 00:00:00' " & _
"ORDER BY ""urn:schemas:calendar:dtstart"" ASC" & _
"</a:sql></a:searchrequest>"
MyCredentialCache = New System.Net.CredentialCache
MyCredentialCache.Add(New System.Uri(strCalendarURI), "NTLM", New System.Net.NetworkCredential(strUserName, strPassword, strDomain))
Request = CType(System.Net.WebRequest.Create(strCalendarURI), System.Net.HttpWebRequest)
Request.Credentials = MyCredentialCache
Request.Method = "SEARCH"
bytes = System.Text.Encoding.UTF8.GetBytes(strQuery)
Request.ContentLength = bytes.Length
RequestStream = Request.GetRequestStream()
RequestStream.Write(bytes, 0, bytes.Length)
RequestStream.Close()
Request.ContentType = "text/xml"
Request.Headers.Add("Translate", "F")
Response = CType(Request.GetResponse(), System.Net.HttpWebResponse)
ResponseStream = Response.GetResponseStream()
ResponseXmlDoc = New System.Xml.XmlDocument
ResponseXmlDoc.Load(ResponseStream)
HrefNodes = ResponseXmlDoc.GetElementsByTagName("a:href")
SubjectNodeList = ResponseXmlDoc.GetElementsByTagName("e:subject")
LocationNodeList = ResponseXmlDoc.GetElementsByTagName("d:location")
StartTimeNodeList = ResponseXmlDoc.GetElementsByTagName("d:dtstart")
EndTimeNodeList = ResponseXmlDoc.GetElementsByTagName("d:dtend")
BusyStatusNodeList = ResponseXmlDoc.GetElementsByTagName("d:busystatus")
InstanceTypeNodeList = ResponseXmlDoc.GetElementsByTagName("d:instancetype")
OrganizerNodeList = ResponseXmlDoc.GetElementsByTagName("d:organizer")
If SubjectNodeList.Count > 0 Then
Console.WriteLine("Calendar items...")
Dim i As Integer
For i = 0 To SubjectNodeList.Count - 1
Console.WriteLine(" Subject: " + SubjectNodeList(i).InnerText)
Console.WriteLine(" Location: " + LocationNodeList(i).InnerText)
Console.WriteLine(" Start time: " + StartTimeNodeList(i).InnerText)
Console.WriteLine(" End time: " + EndTimeNodeList(i).InnerText)
Console.WriteLine(" Busy status: " + BusyStatusNodeList(i).InnerText)
Console.WriteLine(" Organizer: " + OrganizerNodeList(i).InnerText)
Next
Else
Console.WriteLine("No calendar items found ...")
End If
ResponseStream.Close()
Response.Close()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Sub
End Module
(heb ik gehaald vanuit webdav(linkje)
Kort gezegd: deze code haalt de nodige informatie uit een meeting(naam, starttijd, eind tijd, locatie) in de agenda van outlook 2003
Ik moet er nu voor zorgen dat deze zaken in een sql tabel uitgeschreven worden, ze mogen niets overschrijven.
vraag:
- Hoe met ik verbinden met deze sql database?(dit programma gaat draaien op de server zelf waarop exchange en deze database staat)
thanks!
edit: Probleem opgelost met het splitsen