EWS Управляемый API-интерфейс прерывается Тело HTML-сообщения о назначении при обновлении

Я использую EWS Java 1.2, хотя версия 2.0 в C # показывает те же проблемы, что и Exchange 2010 с пакетом обновления 3 (SP3), так что конкретная ошибка в пакете обновления 2 до накопительного пакета 3, касающаяся тел сообщений, не является проблемой.

Короче говоря: EWS + Exchange = боль. Используя EWS в Exchange, вы можете создать встречу. Вы можете указать, что тело сообщения Встречи должно быть HTML, и дать ему набор HTML, чтобы идти с ним. Это будет делать какой-то HTML -> RTF преобразование, которое разрушает HTML при просмотре его на рабочем столе Outlook или в веб-клиенте. Хорошо, мы можем адаптировать HTML к тому, что нене съедается в процессе и все еще выглядит прилично.

За исключением того, что когда вы обновляете Встречу с изменением тела сообщения, оно ДЕЙСТВИТЕЛЬНО съедает форматирование HTML. Это нене имеет значения, если этотот же HTML, который вы дали при создании. Второе сохранение уничтожит его, оставив чуть больше, чем жирный текст, разрывы строк и вкладки. Это'как будто этолибо отображать простой текст с несколькими небольшими фрагментами форматирования, либоs отображает очень урезанный RTF из конвертированного HTML. Какие'действительно сводит с ума то, что это происходит только после обновления тела.

Дело в том, что яМы рассмотрели эти Встречи (и связанные с ними MeetingRequests, которые обрабатываются одинаково) как в MFCMAPI, так и в EWS, проверив расширенные свойства. Когда Встреча создается впервые, заполняется только тело RTF. Обычный текст и HTML-тела имеют нулевое значение, RTF синхронизирован, а значение собственного тела равно 2, что означает, что он должен отображать RTF. Хорошо, это имеет смысл.

При обновлении присутствуют все три типа телосложения. RTF не синхронизирован. Собственное значение тела равно 3, что означает, что он должен отображать HTML. Я проверил в MFCMAPI. Как текстовое тело, так и текст RTF показывают ошибки памяти, но открытие свойства покажет его правильно. Тело HTML присутствует. Существует нулевая причина, по которой это должно происходить в соответствии с документацией. Алгоритм Best Body гласит, что если заполнено свойство native body, то именно это и будет использовановсе сделано. Хорошо, что'Очевидно, не происходит. Если оно'если по какой-то причине это значение не будет получено, оно будет проходить через условную цепочку. Что ж, условная цепочка показывает, что тело HTML должно отображаться в этом случае. MFCMAPI соглашается, когда элемент экспортируется, так как показывает, что собственное тело является телом HTML. OWA покажет это просто отлично. Но Outlook 2010/2013? Nope.I»

Я в моем умеконец здесь. Я не могу заставить рабочий стол Outlook правильно отображать тело независимо от того, что я делаю. Похоже, что это что-то принципиально сломанное на стороне сервера, но в списке нет известных ошибок (за исключением упомянутой выше проблемы с предварительной версией 3 накопительного пакета обновления 2, которая нев данном случае), и я не могу найти никакой документации, которая объясняет, почему обновление так сильно его нарушает. Лучший яя смог установить pidTagBodyHtml непосредственно при создании и сломать его с самого начала. По крайней мере, этосоответствует.

РЕДАКТИРОВАТЬ: ЯМы реализовали алгоритм декомпрессии RTF, чтобы заглянуть внутрь. Конечно же, тело сообщения RTF для новой встречи и тело сообщения RTF для обновленной встречи (в которой тело было обновлено практически идентичным) очень разные! Exchange следует за двумя отдельными путями кода на стороне сервера, и это 'Разбить формат тела! Единственное возможное решение, которое я вижу, - это также реализовать алгоритмы сжатия и форматирования и вручную создать допустимое тело RTF в клиенте, которое не 'т небольшой подвиг.

Ответы на вопрос(0)

Ваш ответ на вопрос