未找到EWS架构信息

时间:2015-02-18 09:10:35

标签: c# xml soap exchangewebservices

我正在尝试通过Exchange WebService(EWS)将Xamarin.Android C#程序连接到Exchange 2013服务器。我发送以下XML文件(使用XmlTextWriter动态创建):

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

并收到此答案(减去格式):

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
 <s:Body>
  <s:Fault>
   <faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorSchemaValidation</faultcode>
   <faultstring xml:lang="de-DE">Fehler bei der Schemaüberprüfung der Anforderung: Die Schemainformationen für das Element 'http://schemas.microsoft.com/exchange/services/2006/messages:GetRoomLists' konnten nicht gefunden werden.</faultstring>
   <detail>
    <e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorSchemaValidation</e:ResponseCode>
    <e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">Fehler bei der Schemaüberprüfung der Anforderung.</e:Message>
    <t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
     <t:LineNumber>7</t:LineNumber>
     <t:LinePosition>6</t:LinePosition>
     <t:Violation>Die Schemainformationen für das Element 'http://schemas.microsoft.com/exchange/services/2006/messages:GetRoomLists' konnten nicht gefunden werden.</t:Violation>
    </t:MessageXml>
   </detail>
  </s:Fault>
 </s:Body>
</s:Envelope>

错误文本大致翻译为“检查请求方案时出错”(<e:Message>)和“无法找到元素'<URL>:GetRoomLists的方案信息”(<t:Violation>); <faultstring>是两者的结合。

我不明白错误在哪里。我的请求XML是否错误,是Exchange Server配置错误还是缺少模块(如果是,哪一个?),是否还有其他错误?

我在SOAP主体中尝试了其他几个方面,例如<GetRooms><RoomList><EmailAddress>room@server</EmailAddress></RoomList></GetRooms>,错误消息相同(抱怨GetRooms)。

1 个答案:

答案 0 :(得分:0)

您的请求已版本化为Exchange 2007 SP1,但GetRoomLists在Exchange 2010之前无法使用。如果您使用的是2010或更高版本的Exchange,请尝试更改{{1 }}元素到RequestServerVersion

相关问题