我想使用VBA excel发出SOAP请求 VBA请求
Public Sub httpclient()
Dim Req As Object
Dim sEnv As String
Dim Resp As New MSXML2.DOMDocument60
Set Req = CreateObject("MSXML2.XMLHTTP")
Set Resp = CreateObject("MSXML2.DOMDocument.6.0")
Req.Open "GET", "https://api.etadirect.com/soap/capacity/?wsdl", False
sEnv = sEnv & "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope"">"
sEnv = sEnv & " <soapenv:Header/>"
sEnv = sEnv & " <soapenv:Body>"
sEnv = sEnv & " <Request>"
sEnv = sEnv & " <now>2019-07-22</now>"
sEnv = sEnv & " <login>string</login>"
sEnv = sEnv & " <company>string</company>"
sEnv = sEnv & " <auth_string>string</auth_string>"
sEnv = sEnv & " </Request>"
sEnv = sEnv & " </soapenv:Body>"
sEnv = sEnv & "</soapenv:Envelope>"
' Send SOAP Request
Req.Send (sEnv)
Debug.Print Req.responseText
End Sub
SOAP UI请求
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:toa:capacity">
<soapenv:Header/>
<soapenv:Body>
<urn:get_quota_data>
<user>
<now>2019-07-22</now>
<login>string</login>
<company>string</company>
<auth_string>string</auth_string>
</user>
</urn:get_quota_data>
</soapenv:Body>
</soapenv:Envelope>
我希望在下面获得结果,而不是获得许多xml标记。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Bad request format - Mandatory parameter is absent: 'date'</faultstring>
<detail>
<errorCode>100</errorCode>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
缺少SOAPUI返回必需参数,因为我只写请求进行身份验证。 在VBA中,我没有收到此消息 问题是我在VBA代码中做错了什么。 你能帮我么? 最好的问候,