2015-03-19 202 views
1

我目前正在面临一些与创建CreateObject("MSXML2.ServerXMLHTTP.6.0")对象有关的问题。CreateObject(“MSXML2.ServerXMLHTTP.6.0”)

Public Function PrepareHttpRequest(Request As RestRequest, TimeoutMS As Long, _ 
Optional UseAsync As Boolean = False) As Object 
Dim Http As Object 
**Set Http = CreateObject("MSXML2.ServerXMLHTTP.6.0")** 

' Set timeouts 
Http.setTimeouts TimeoutMS, TimeoutMS, TimeoutMS, TimeoutMS 

' Add general headers to request 
Request.AddHeader "User-Agent", UserAgent 
Request.AddHeader "Content-Type", Request.ContentType 

If Request.IncludeContentLength Then 
    Request.AddHeader "Content-Length", Request.ContentLength 
Else 
    If Request.Headers.Exists("Content-Length") Then 
     Request.Headers.Remove "Content-Length" 
    End If 
End If 

' Pass http to request and setup onreadystatechange 
If UseAsync Then 
    Set Request.HttpRequest = Http 
    Http.onreadystatechange = Request 
End If 

Set PrepareHttpRequest = Http 
End Function 

上面的代码对一些用户来说工作正常,但在某些用户机器上却失败了。任何人都可以提供必要的修改来解决问题。

回答

0

尝试:

Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP") 

否则把一个On Error Goto ln,告诉我们Err.Description是什么,谷歌,

运行的ProcessMonitor,看看它试图找到DLL和REGSVR32的msxml6.dll

+0

欢迎来到[so]。 – 2015-03-19 07:28:24

相关问题