MORE INFORMATION
The ServerXmlHttp Does Not Return Cookies When Using NTLM Authentication
You can use the
ServerXMLHTTP object to retrieve and re-submit session cookies. You can retrieve the cookie from the Response Header and re-submit the cookie through the Request Header. When you access an NTLM Web site, the cookie is lost when you re-submit.
For additional information about this problem, click the article number below
to view the article in the Microsoft Knowledge Base:
326847 ServerXMLHTTP Does Not Return Cookies Using NTLM Authentication
Iterating a Marshaled IXMLDOMNodeList Fails the Second Time
When you use a Microsoft Visual Basic
For...Each loop construct to repeatedly enumerate an IXMLDomNodeList interface that has undergone cross process, marshaling returns no data the second time.
For example, the following method is implemented in a COM+ Server component:
Public Function GetEmployees() As MSXML2.IXMLDOMNodeList
Dim doc As New MSXML2.DOMDocument30
doc.loadXML "<Employees><Employee>Jack</Employee><Employee>John</Employee></Employees>"
Dim EmpList As MSXML2.IXMLDOMNodeList
doc.setProperty "SelectionLanguage", "XPath"
Set EmpList = doc.selectNodes("//Employee")
Set GetEmployees = EmpList
End Function
The second
For...Each loop in the following sample Visual Basic EXE client code that executes the earlier COM+ component method does not display the Employee names:
Dim EmpList As MSXML2.IXMLDOMNodeList
Dim obj As Object
Set obj = CreateObject("<PROGID OF COM+ COMPONENT>")
Set EmpList = obj.GetEmployees
For Each Emp In EmpList
Debug.Print Emp.Text
Next
For Each Emp In EmpList
Debug.Print Emp.Text
Next
The DOMDocument Load Method Ignores Content Expiration
The
DOMDocument load method ignores IIS content expiration settings and executes conditional GET requests (with the "If-Modified-Since" header) when you use a URL parameter to access static XML data. Unnecessary network roundtrips occur that you can avoid if the IIS content expiration settings are kept, and if the static XML data is retrieved from the Cache.
XML DSO Control Leaks Memory
You notice a gradual and small memory leak when you repeatedly load or update data in an XML DSO control. You see this problem when you repeatedly (and for a prolonged period of time) load or refresh an HTML page that uses an XML DSO control. The problem occurs when the HTML page does not release the internal data structure that is created and used each time that data is loaded in an XML DSO control instance.
Memory Leak When You Return a Clone of a Global DOMDocument Object from a Visual Basic ActiveX DLL Method
You see a memory or handle leak when you execute a Visual Basic ActiveX DLL method that returns a clone of a global
DOMDocument object.
For example, consider a Visual Basic ActiveX DLL with the following code:
Option Explicit
Public g_objTest As MSXML2.DOMDocument
Public Function Test() As MSXML2.DOMDocument
If (g_objTest Is Nothing) Then
Set g_objTest = New MSXML2.DOMDocument
If (g_objTest.Load(App.Path & "\xml\VBLeaks.xml") = False) Then
Call Err.Raise(5, "Test", g_objTest.parseError.reason)
End If
End If
Set Test = g_objTest.cloneNode(True)
End Function
You may see a memory or handle leak when you execute the
Test() Visual Basic ActiveX DLL method (demonstrated in the previous code) from a client application.
The ServerXmlHttp Send Method Fails When the URL Contains Unescaped Spaces
When the URL of the target resource contains non-escaped spaces, the
ServerXmlHttp object generates the following error message:
URL is invalid
This problem only occurs in MSXML 3.0 SP2. It does not occur in MSXML 3.0 RTM or MSXML 3.0 SP1. The workaround in 3.0 SP2 was to use the %20 character sequence to escape the spaces in the URL. This problem has been fixed in MSXML 3.0 SP3.