2009-09-10 54 views
0

我正在通過HTTP將POST內容從Access VBA發送到Web方法,在MSXML中使用XMLHTTP對象。這是守則。在通過HTTP發送XML時編碼「<" and ">」Post

Dim objXmlHttp As Object 
Set objXmlHttp = CreateObject("MSXML2.ServerXMLHTTP") 
objXmlHttp.Open "POST", webServicePath, False 
objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 

Dim Response As String 
objXmlHttp.send wrt.output 

'OK status 
If objXmlHttp.Status = 200 Then 
    Response = objXmlHttp.responseText 
End If 
Set objXmlHttp = Nothing 

我正在用 「& LT」 和 「& GT」,而不是<和>的XML。 如果我嘗試進行URL編碼,則在收件人一側以ASCII文本形式接收所有內容。 你能指導我需要做什麼來獲得有效的XML格式。

+0

我沒有看到你的URL編碼輸出。 – 2009-09-10 16:57:15

+0

VBA沒有URL編碼機制。我只是使用通用代碼。 功能的URLEncode(strData是) 昏暗I,strTemp,strChar,斯特勞特,intAsc strTemp = TRIM(strData是) 對於i = 1至LEN(strTemp) strChar = MID(strTemp,I,1) intAsc = Asc(strChar) 如果(intAsc> = 48且intAsc <= 57)或(intAsc> = 97且intAsc <= 122)或(intAsc> = 65並且intAsc <= 90)然後 strOut = strOut&strChar Else 斯特勞特=斯特勞特& 「%」 &十六進制(intAsc) 結束如果 接着 的URLEncode =斯特勞特 端功能 請問這個SOLV我的問題? – Seshan 2009-09-10 17:30:57

回答

2

您需要正確的設置內容類型,試試這個來代替:

objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=""utf-8""" 
+0

當我包含此內容類型時,我沒有在Reveiving結尾獲取XML內容。 – Seshan 2009-09-10 17:10:01