Taken from the Designer Help:
Note In Release 7.0, this method was enhanced to handle a DTD located at a URL. However, when using a URL, DOMParser.Process() will intermittently fail raising error #4602:"DOM parser operation failed" if the load on the server is too heavy, resulting in a time-out. If this occurs, the calling application will need to try again.
So it is likely a problem with the dtd, either dtd server isn't responding or responding to slow. I had the same problem and solved it by just trying again if process failed. See code below:
Public Sub ParseString(s As String)
On Error 4602 GoTo ParserOperationFailed
Const MAX_RETRIES = 10
Dim isProcessed As Boolean
Dim numOfRetries As Integer
Set domParser = session.Createdomparser(s)
Do While numOfRetries < MAX_RETRIES And isProcessed = False
Call domParser.Process()
isProcessed = true
Retry:
Loop
If Not isProcessed Then
Error 1000, "Unable to get dtd, DOM parser operation failed, tried " + CStr(numOfRetries+1) + "times"
End If
Set xmlDoc = domParser.Document
Set Me.m_rootNode = xmlDoc.Documentelement
Exit Sub
ParserOperationFailed:
isProcessed = False
numOfRetries = numOfRetries + 1
Resume Retry
End Sub