EWS 请求失败,因为不是 Internet

EWS request fails because not Internet

我正在无法访问 Internet 的内部网络上调用 EWS 服务。

我可以用浏览器打开 EWS url 并验证它是否已启动 运行。 但是当我尝试发送 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/"

没有网络连接时如何处理。

我正在使用 lather.js 库从 meteor.js 应用发送请求。

看起来像 URL:s 的东西,前缀为 xmlns,只是名称空间,不应被调用。有点像 java 程序中的命名空间(例如命名空间 com.sun.something)不是可以调用的 url。

你应该只做一个 http POST 并将整个 xml 文件发送到 soap 服务器,它可以是一个不在互联网上的内部 ip 号码。