EWS请求失败,因为没有Internet

时间:2016-05-26 08:19:03

标签: soap xml-namespaces exchange-server-2013

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

我可以使用浏览器打开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&#34; HTTP://www.w3.org/2001/XMLSchema-instance"        的xmlns:M =&#34; HTTP://schemas.microsoft.com/exchange/services/2006/messages"        的xmlns:T =&#34; HTTP://schemas.microsoft.com/exchange/services/2006/types"        的xmlns:SOAP =&#34; HTTP://schemas.xmlsoap.org/soap/envelope/"

如果没有互联网连接,如何处理此问题。

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

1 个答案:

答案 0 :(得分:0)

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

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