Как получить тело письма в HTML от Exchange, используя EWS в 1с

1. Walker.pro 8 01.06.21 10:21 Сейчас в теме
Добрый день! Не подскажите, как получить тело письма в HTML от Exchange, используя EWS в 1с?

Запрос XML:
?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>Default</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:AdditionalProperties>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="10" BasePoint="Beginning" Offset="0"/>
<m:Restriction>
<t:IsEqualTo>
<t:FieldURI FieldURI="message:IsRead"/>
<t:FieldURIOrConstant>
<t:Constant Value="false"/>
</t:FieldURIOrConstant>
</t:IsEqualTo>
</m:Restriction>
<m:SortOrder>
<t:FieldOrder Order = "Ascending">
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:FieldOrder>
</m:SortOrder>
<m:ParentFolderIds><t:DistinguishedFolderId Id="inbox"></t:DistinguishedFolderId></m:ParentFolderIds></m:FindItem></soap:Body></soap:Envelope>

    oXMLHTTP = СоздатьXMLHTTP();
    //oXMLHTTP.setRequestHeader("Depth", "0");
    //oXMLHTTP.setRequestHeader("SOAPAction", "http://webservices.belavia.by/GetAirportsList";);

	oXMLHTTP.send(strXML);
	
	СтрокаXML = СокрЛП(strXML);
	
	Если oXMLHTTP.Status=200 тогда
		xmlВыборкаMessage = oXMLHTTP.responseXML.SelectNodes("//t:Message");
		
		Для НомерПисьма=1 По xmlВыборкаMessage.Length Цикл
			Письмо = xmlВыборкаMessage.item(НомерПисьма-1);
			
			//Прочитано = Письмо.SelectNodes("t:IsRead").item(0).text;
			
			//Если Прочитано Тогда
			
			//    // письмо уже прочитано
			
			//    Продолжить;
			
			//КонецЕсли;
			
			Тема   = Письмо.SelectNodes("t:Subject").item(0).text;
			
			ItemId = Письмо.SelectNodes("t:ItemId").item(0);
			
			Id = ItemId.getAttribute("Id");
			
			ChangeKey = ItemId.getAttribute("ChangeKey");
			
	
			// получаем и распаковываем вложение
			
			Status = ПолучитьВложение(Id, ChangeKey);
			
			Если Status = 200 тогда
				
				// вложения получили успешно
				
			Иначе
				
				// вложения не получили, письмо оставляем не прочтенным
				
				Продолжить;
				
			КонецЕсли;
			

			Если Status = 200 тогда
				
				// письму успешно установлен флаг о прочтении
				
			КонецЕсли;
			
			// ***********
		КонецЦикла;
	КонецЕсли;
Показать
По теме из базы знаний
Найденные решения
2. user1480359 03.06.21 00:50 Сейчас в теме
FindItem - получаете письма. Берете id и ChangeKey.
Далее метод GetItem (данные письма), в ответе будет тэг"body":

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>

<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Walker.pro; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1480359 03.06.21 00:50 Сейчас в теме
FindItem - получаете письма. Берете id и ChangeKey.
Далее метод GetItem (данные письма), в ответе будет тэг"body":

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>

<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Walker.pro; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот