Exchange服务器无法正确处理具有中文内容的EWS soap请求

时间:2016-06-14 08:12:37

标签: javascript exchangewebservices

所有

我想使用EWS发送创建日历项操作请求,我的一些内容(例如Subject)可能包含中文字符。这是我的请求肥皂的样子

<?xml version="1.0" encoding="utf-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Header>
  <RequestServerVersion xmlns="http://schemas.microsoft.com/exchange/services/2006/types" Version="Exchange2007_SP1"/>
</Header>
<Body>
  <CreateItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" SendMeetingInvitations="SendToNone">
    <SavedItemFolderId>
      <DistinguishedFolderId xmlns="http://schemas.microsoft.com/exchange/services/2006/types" Id="calendar"/>
    </SavedItemFolderId>
    <Items>
      <CalendarItem xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
        <Subject>新建日程</Subject>
        <ReminderIsSet>true</ReminderIsSet>
        <ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>
        <Start>2016-06-22T09:00:00</Start>
        <End>2016-06-22T10:00:00</End>
      </CalendarItem>
    </Items>
  </CreateItem>
</Body>
</Envelope>

我用utf-8对这个xml进行编码并将其发送到我的测试交换服务器,过了一会儿,它显示在该服务器上,但在Subject属性中有问号,而不是&#39;新建日程&#39; 。所有其他属性都正确显示。

所以我想知道我在哪里做错了中文内容无法正确显示。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

最后,我弄清楚了什么是错的。它位于请求标头中。我发现标题忘了将字符集设置为utf-8。多么简单但又愚蠢的错误......