【发布时间】:2014-07-01 18:34:29
【问题描述】:
我正在尝试将我在 VBA 中编写的代码(并且工作正常)修改为 VB.Net。
这是代码:
Sub SOAP(ByVal SOAPCommand As String)
Dim sURL As String
Dim sEnv As String
Dim xmlDoc As New DOMDocument
Dim sEnvlength As Integer
Dim responseText As String
Set ObjHttp = New MSXML2.XMLHTTP
sURL = "http://localhost:9002"
sEnv = "<?xml version=""1.0"" encoding=""UTF-8""?>"
sEnv = sEnv & "<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">"
sEnv = sEnv & "<SOAP-ENV:Body>"
sEnv = sEnv & "<" & SOAPCommand & "/>"
sEnv = sEnv & "</SOAP-ENV:Body>"
sEnv = sEnv & "</SOAP-ENV:Envelope>"
sEnvlength = Len(sEnv)
ObjHttp.Open "POST", sURL, False
ObjHttp.SetRequestHeader "User-Agent", "Dispatcher"
ObjHttp.SetRequestHeader "Content-Type", "text/xml; charset=us-ascii"
ObjHttp.SetRequestHeader "Host", "localhost:9002"
ObjHttp.SetRequestHeader "Content-Length", sEnvlength
ObjHttp.SetRequestHeader "Connection", "close"
ObjHttp.send (sEnv)
xmlDoc.LoadXML (ObjHttp.responseText)
responseText = ObjHttp.responseText
If Not (responseText = "") Then
MsgBox (responseText)
End If
End Sub
我知道我不能再在 VB.Net 中使用 MSXML,但我还没有找到一个方便的解决方案,如何修改我的代码,以便我可以在 Visual Studio 上的其余项目中使用它。
到目前为止,我将这段代码作为宏保存在一个单独的 Excel 文件中,我使用一个新的 Excel.Application 方法调用该文件,该方法每次都打开和关闭文件,但因为它必须重复数千次(对于模拟)这看起来并不是一个好的解决方案。
有人知道如何通过 VB.Net 发送我的 SOAP 消息吗?
我有 Visual Studio 2013 Ultimate。
【问题讨论】: