Хотим послать с лотуса данные не на вебсервис, а как некий урл страничку в интернете.
Изначально проверяем, открывается ли страничка сайта в эксплорере.
Запрос из LotusScript к веб странице с помошью Msxml2.XMLHTTP - GET метод.
Sub Click(Source As Button)
Dim xml As String
Dim xmlhttp As Variant
Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
Set DOMDocument = CreateObject("MSXML2.DOMDocument")
xml = |https://192.168./api/v1/execute_query?username=ebn@gos&password=123&pact_id=42&query={"FullName":"Шериф"}|
Call xmlhttp.open("GET",xml, False,"","")
Call xmlhttp.send()
readyState = xmlhttp.readyState
getAllResponseHeaders = xmlhttp.getAllResponseHeaders()
responseText = xmlhttp.responseText
Set DOMDocument = xmlhttp.responseXML
domtext = DOMDocument.text
Status = xmlhttp.Status ' 12029 для ошибки "cannot connect".
End Sub
POST метод.
Sub Click(Source As Button)
On Error Goto ErrH
Dim xml As Variant
Dim xmlhttp As Variant
Set xmlhttp = CreateObject("Msxml2.XMLHTTP")
'Set DOMDocument = CreateObject("MSXML2.DOMDocument")
Call xmlhttp.open("POST","https://192.168./api/v1/execute_query", False,"","")
Call xmlhttp.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded")
Call xmlhttp.setRequestHeader ("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)")
xml = |username=ebn@gos&password=123&pact_id=42&query={"FullName":"Шер"}|
Call xmlhttp.send (xml)
readyState = xmlhttp.readyState
Status = xmlhttp.Status
If Status = 200 Then ' ответ веб сервера - всё ок
getAllResponseHeaders = xmlhttp.getAllResponseHeaders()
responseText = xmlhttp.responseText
ok = Instr(responseText, "Запрос получен успешно0")
If ok>1 Then
Msgbox responseText
End If
'Set DOMDocument = xmlhttp.responseXML
'domtext = DOMDocument.text
End If
Exit Sub
ErrH:
Errmy$ = "Ошибка: " & Error(Err) & " в строке " & Erl
End Sub
Где
"Content-Type", "application/x-www-form-urlencoded" - кодировка запроса
"User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" - юзер агент
readyState - Номер состояния запроса 0 - Unitialized 1 - Loading 2 - Loaded 3 - Interactive 4 - Complete
status - 200 - OK, 404 - Not Found