我正在尝试在Excel宏中调用Web服务:
Set objHTTP = New MSXML.XMLHTTPRequest
objHTTP.Open "post", "https://www.server.com/EIDEServer/EIDEService.asmx"
objHTTP.setRequestHeader "Content-Type", "text/xml"
objHTTP.setRequestHeader "SOAPAction", "PutSchedule"
objHTTP.send strXML
我得到以下回复:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Server did not recognize the value of HTTP Header SOAPAction: PutSchedule.</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
之前有人做过这样的事吗?
答案 0 :(得分:4)
您的SOAP操作还应包括方法的命名空间 e.g。
"http://tempri.org/PutSchedule"
找出服务的命名空间,并将其添加到方法名称PutSchedule前面。
答案 1 :(得分:2)
看起来更像是使用xml-rpc而不是soap。 使用SOAP http://msdn.microsoft.com/en-us/library/aa192537(office.11).aspx中的soap类型库或与ms office版本对应的库类型库与webservice进行交互