问题描述
我想从Excel文件通过VBA将请求发布到Web服务。
这是我到目前为止所拥有的:
Sub testxml()
Dim sEnv As String 'Envelope for xml file
.
.
.
Dim strPath As String
Dim ObjHTTP As New MSXML2.XMLHTTP
Dim sURL As String
strPath = "M:\[…]\mydomTestfile.xml"
sURL = "https://my35[...]ign.com"
Dim myxml As String
Dim myDom As MSXML2.DOMDocument
Dim myHTTP As MSXML2.XMLHTTP
Set myHTTP = CreateObject("msxml2.xmlhttp")
Set myDom = CreateObject("MSXML2.DOMDocument")
myDom.async = False
myDom.LoadXML (sEnv)
myDom.Save (strPath)
myHTTP.Open "Post",sURL,False,"USER","PASSWORD"
myHTTP.setRequestHeader "Content-Type","text/xml"
myHTTP.send (myDom.XML)
Debug.Print myHTTP.responseText
End Sub
我收到以下答复:
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header/>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:VersionMismatch</faultcode>
<faultstring xml:lang="en">Wrong SOAP Version</faultstring>
<detail/>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>
我同事的问题是,我需要进一步指定POST请求,以将其发布到wsdl端口“ binding_SOAP12”。
黑框下的URI相同。
关于如何进一步指定此内容,或者是否必须使用其他方法,我找不到任何内容。 如果您能指出正确的方向,我将不胜感激。
编辑:
我需要更改的只是这一部分:
...
myHTTP.setRequestHeader "Content-Type","text/xml"
...
到
...
myHTTP.setRequestHeader "application/soap+xml","text/xml"
...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)