2016-07-14 5 views
0

Я разрабатываю таможенный агент для Exchange 2013. Я получаю null в e.MailItem.Message.CalendarPart, хотя я отправляю запрос на собрание.Получение null в e.MailItem.Message.CalendarPart в обменном агенте

if (e.MailItem.Message.CalendarPart != null) 
     { 
      LocationProcessorStrategy.AddLocationInBody(e.MailItem.Message); 
     } 
     else 
     { 
      e.MailItem.Message.Subject += " [There is no calendar part - added by agent.]"; 
     } 

e.MailItem.Message.MapiMessageClass дает мне значение "IPM.Schedule.Meeting.Request" но CalendarPart является нулевым.

ответ

0

Это обычно означает, что на этапе обмена сообщениями, в котором вы пытаетесь перехватить сообщение, нет части тела ICal для разбора. iCal обычно создает классификацию сообщений в зависимости от типа получателя https://technet.microsoft.com/en-us/library/bb232174(v=exchg.150).aspx. Поэтому либо подтолкните ваш агент к запуску после того, как произошла категоризация, либо используйте TNEFReader/TNEFWriter для разбора TNEFStream для сообщения. Обратите внимание, что вам может понадобиться два решения, если вы хотите, чтобы процесс беспокоил внутренние и внешние функции Calendar Invites из-за используемых форматов.

+0

Как запустить агент после категоризации? –

+0

Также вы можете указать пример кода ссылки на чтение свойств tnef? –

+0

Использование OnCategorizedMessage https://technet.microsoft.com/en-us/library/bb125012(v=exchg.150).aspx для потока TNEF см. Https://blogs.msdn.microsoft.com/mstehle/2009/ 01/13/howto-sample-transport-agent-add-headers-categories-mapi-props-even-uses-a-fork/и http://gsexdev.blogspot.com.au/2011/04/reading-custom -mapi-properties-in.html –

 Смежные вопросы

  • Нет связанных вопросов^_^