如何解决求助:VBA |将请求从excel发布到Webservice
我想从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
到目前为止,该方法有效,创建并发布了一个xml文件。
我收到以下答复:
<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 举报,一经查实,本站将立刻删除。