Вызов веб-сервиса из VBA с использованием SOAP - PullRequest
5 голосов
/ 28 октября 2008

Я пытаюсь вызвать веб-сервис в макросе Excel:

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> 

Кто-нибудь делал что-то подобное раньше?

Ответы [ 2 ]

4 голосов
/ 28 октября 2008

Ваше действие SOAP должно также включать пространство имен метода например,

"http://tempri.org/PutSchedule"

Узнайте, что такое пространство имен вашей службы и добавьте его перед именем метода PutSchedule.

2 голосов
/ 04 ноября 2008

больше похоже на то, что вы используете xml-rpc вместо мыла. взаимодействуйте с веб-сервисом, используя библиотеку типов мыла по адресу: http://msdn.microsoft.com/en-us/library/aa192537(office.11).aspx, или ту, которая соответствует вашей версии MS Office

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...