3
我想將格式良好的cxml文件發佈到遠程服務器url。我的代碼建立連接,但在實際的SEND命令上失敗。我不一定是VBA的新手,但我是POSTING XML的新手,並向本論壇發佈求助請求。希望我做對了。使用VB發送/ POST xml文件使用VB
當我發佈時,我得到status = 200和「Missing XML」的響應。看來,XML數據沒有得到實際上傳到遠程服務器
remoteurl = "http://myremoteurl.com/incoming"
FileNameXML = XML file read into a string variable
FileNameSource = fullpath & filename of XML file="C:\xmls\test00001.xml"
' I am calling the following function & storing response
xmlresp = HTTPPostTXT(remoteurl, FileNameXML, FileNameSource)
Function HTTPostTxt(ByVal sUrl As String, xmlText As String, ByVal xmlname As String)
Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
XMLHTTP.Open "POST", sUrl, False
Set xmldom = CreateObject("Microsoft.XMLDOM")
xmldom.LoadXML xmlText
xmldom.Validate
' xmldom.xml does not error out but XML file does not get sent/uploaded
XMLHTTP.send xmldom.xml
MsgBox XMLHTTP.Status & " " & XMLHTTP.responseText ' Return Status # & reponseText
' I am storing response and status for troubleshooting
If XMLHTTP.Status <> 200 Then
Sheets(Shtname).Cells(iRow, 6).Value = XMLHTTP.responseText
HTTPPostTxt = "Failure"
Else
Sheets(Shtname).Cells(iRow, 6).Value = XMLHTTP.responseText
HTTPPostTxt = "Accepted"
End If
End Function
(1)我尋求幫助的我在做什麼毛病發送XML字符串數據。這是假定這就是我無法發送數據的原因。下面是我如何讀取XML文件轉換成字符串變量
Function XMLFileString(ByVal XMLFileName As String) As String
Dim text, textline As String
Open XMLFileName For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
XMLFileString = text
End Function
(2)改變SEND命令發送實際的文件(使用FULLPATH &文件名)是一個選項。不知道要改變什麼。我想我需要將LOADXML命令更改爲LOAD並使用文件名。