未找到 EWS 架构信息
EWS Schema information not found
我正在尝试通过 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>
错误文本大致翻译为 "Error while checking request scheme" (<e:Message>
) 和 "Scheme information for element '<URL>:GetRoomLists
' could not be found" (<t:Violation>
); <faultstring>
是两者的结合。
我不明白错误在哪里。我的请求 XML 是否错误,Exchange Server 是否配置错误或缺少模块(如果是,是哪个模块?),还有其他错误吗?
我已经在 SOAP 主体中尝试了其他一些东西,例如<GetRooms><RoomList><EmailAddress>room@server</EmailAddress></RoomList></GetRooms>
,同样的错误信息(抱怨 GetRooms
)。
您的请求已针对 Exchange 2007 SP1 进行版本控制,但 GetRoomLists 直到 Exchange 2010 才可用。如果您使用的是 2010 或更高版本的 Exchange,请尝试将 RequestServerVersion
元素更改为 Exchange2010
.
我正在尝试通过 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>
错误文本大致翻译为 "Error while checking request scheme" (<e:Message>
) 和 "Scheme information for element '<URL>:GetRoomLists
' could not be found" (<t:Violation>
); <faultstring>
是两者的结合。
我不明白错误在哪里。我的请求 XML 是否错误,Exchange Server 是否配置错误或缺少模块(如果是,是哪个模块?),还有其他错误吗?
我已经在 SOAP 主体中尝试了其他一些东西,例如<GetRooms><RoomList><EmailAddress>room@server</EmailAddress></RoomList></GetRooms>
,同样的错误信息(抱怨 GetRooms
)。
您的请求已针对 Exchange 2007 SP1 进行版本控制,但 GetRoomLists 直到 Exchange 2010 才可用。如果您使用的是 2010 或更高版本的 Exchange,请尝试将 RequestServerVersion
元素更改为 Exchange2010
.