HTTPS Post с использованием Excel VBA с телом XML и проблемой заголовков запроса - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь использовать Excel-VBA для выполнения https POST тела XML следующим образом:

Public Sub test()
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Dim myDom As Object
Set myDom = CreateObject("MSXML2.DOMDocument.6.0")

URL = "https://uatgateway.topl.com.au/quote"
myDom.async = False
myXMLstr = URL & "<?xml version=&Chr(34)&1.0&Chr(34)& encoding=&Chr(34)&UTF- 
8&Chr(34)& standalone=&Chr(34)&yes&Chr(34)&?><IMPULSE><REQUEST><QUOTE> 
<MERCHANT><ACQUIRERID>Bank A</ACQUIRERID><NETWORKID>eComm</NETWORKID> 
<MERCHANTID>987654321</MERCHANTID></MERCHANT><MCH_TRANSACTION> 
<QUOTEREF>3456789012</QUOTEREF><MCH_ISO>036</MCH_ISO> 
<MCH_AMT>1000.00</MCH_AMT><BIN>400555000</BIN></MCH_TRANSACTION></QUOTE> 
</REQUEST></IMPULSE>"

myDom.Load (myXMLstr)

xmlhttp.Open "post", URL, False
xmlhttp.setRequestHeader "Content-Type", "application/xml"
xmlhttp.setRequestHeader "Content-Length", "356"
xmlhttp.setRequestHeader "Accept", "text/xml"
xmlhttp.setRequestHeader "Host", "uatgateway.topl.com.au"
xmlhttp.setRequestHeader "Cache-Control", "no-cache"

xmlhttp.send myDom.XML
MsgBox xmlhttp.responseText
End Sub

Мой код VBA компилируется нормально, но выполнение останавливается на строке xmlhttp.send почти сразус ошибкой «сервер вернул неверный или нераспознанный ответ».Тот же POST на Почтальоне работает.Я не уверен, правильно ли я ссылаюсь на myDom.XML?

Любые предложения приветствуются?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...