- Код: Выделить всё
Dim Doc As New DOMDocument
Dim nHTTP As New XMLHTTP40
Dim N As IXMLDOMNode
Dim sRemoteURL As String
Dim Url As String
Dim ClientID As String
Dim nRet As String
Set Doc = New DOMDocument
If Doc.Load(Fl) Then
ClientID="ABCD"
sRemoteURL = "http://" & Url & "/wwwapp_x/fps.aspx?n=" & ClientID
nHTTP.open "POST", sRemoteURL
nHTTP.send Doc.xml
nRet = nHTTP.responseText
Do While nHTTP.readyState <> 4
DoEvents
Sleep 100
Loop
End If
При отправке етого файла, первым делом я проверяю на сервере наличие возвратного файла (ниже увидите) Файл отправляетса и серверный файл удаляется без проблем. Теперь я жду возвратного файла
- Код: Выделить всё
Sleep 10000
DoEvents
MoreWait:
sRemoteURL = "http://" & Url & "/wwwapp_x/xml/" & ClientID & "_RETURN.XML"
nHTTP.open "GET", sRemoteURL
nHTTP.send
Do While nHTTP.readyState <> 4
DoEvents
Sleep 100
Loop
'Stop
nRet = nHTTP.responseText
If InStr(nRet, "The page cannot be found") > 0 Then
Sleep 10000
DoEvents
GoTo MoreWait
Else
ShellExecute Me.hwnd, "open", "http://" & Url & "/wwwapp_x/xml/" & ClientID & "_RETURN.XML", vbNullString, "", ByVal 1&
'Stop
End If
Так вот, в первый раз процедура работает нормально, а вот во второй, третий и т.д. возникают проблемы.
1) Даже если файл удален на сервере, nHTTP.responseText всё равно возвращает значение и дату из етого файла, берет откуда то из памяти что ли, или ещё непойму как. Короче получается, файла нет, а значение есть. Как можно с этим бороться? Получается что у меня никогда нет InStr(nRet, "The page cannot be found") > 0, если я работаю с одним ClientID файлом. Спасибо.