Сбой запроса EWS, потому что не Интернет

Я звоню в службу EWS во внутренней сети, которая не имеет доступа к Интернету.

Я могу открыть URL-адрес EWS в браузере и убедиться, что он работает. Но когда я пытаюсь отправить запрос SOAP.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" 
       xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" 
       xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2007_SP1" />
  </soap:Header>
  <soap:Body>
    <m:GetFolder>
      <m:FolderShape>
        <t:BaseShape>IdOnly</t:BaseShape>
      </m:FolderShape>
      <m:FolderIds>
        <t:DistinguishedFolderId Id="calendar" />
      </m:FolderIds>
    </m:GetFolder>
  </soap:Body>
</soap:Envelope>

Сбой с ошибкой ENOTFOUD. Я предполагаю, что он не может подключиться к указанному адресу в SOAP xml для определения схемы.

xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: m = "http://schemas.microsoft.com/exchange/services/2006/messages" xmlns: t = "http: //schemas.microsoft.com/exchange/services/2006/types "xmlns: soap =" http://schemas.xmlsoap.org/soap/envelope/ "

Как бороться с этим, когда нет подключения к интернету.

Я отправляю запрос из приложения meteor.js с помощью библиотеки lather.js.

1 ответ

Решение

Материал, который выглядит как URL:s, с префиксом xmlns, является просто пространством имен и не должен вызываться. Немного похоже на пространства имен в Java-программе (например, пространство имен com.sun.something) - это не URL, который вы можете вызвать.

Вы должны просто выполнить http POST и отправить весь XML-файл на сервер мыла, который может быть внутренним номером IP, которого нет в Интернете.

Другие вопросы по тегам