0

我需要将 Autodesk PLM 360 服务集成到 SolidWorks 中,并使用 VBA 来完成。为了启动 HTTP 请求,我使用以下代码:

Dim objHTTP As MSXML2.ServerXMLHTTP
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.setRequestHeader "Content-Type", "application/xml" '<-- Error occurs here
objHTTP.Open "POST", "https://mytenant.autodeskplm360.net/rest/auth/1/login", False
objHTTP.send "<metaFields>" & _
                "<password>MyPassword</password>" & _
                "<userID>MyUserID</userID>" & _
             "</metaFields>"

上述代码的第三行出现以下错误:

未指定的错误

当我注释掉违规行时,HTTP 请求返回的状态是“415 - 不支持的媒体类型”。

有没有人可以理解这里的问题?我所做的所有搜索都没有帮助。

PS我还应该注意Excel中也出现了同样的问题,所以这不是由于VBA的SolidWorks实施正在做的奇怪的事情。

4

1 回答 1

0

正如@barrowc 在评论中指出的那样,setRequestHeader命令需要遵循open命令。它应该如下所示:

Dim objHTTP As MSXML2.ServerXMLHTTP
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "POST", "https://mytenant.autodeskplm360.net/rest/auth/1/login", False
objHTTP.setRequestHeader "Content-Type", "application/xml"
objHTTP.send "<metaFields>" & _
                "<password>MyPassword</password>" & _
                "<userID>MyUserID</userID>" & _
             "</metaFields>"
于 2015-09-14T15:25:43.177 回答