Сообщение отдельно
13.01.2025 13:18
Цитата:
_R2D2_ Проверьте заголовок файла. У вас похоже нет пролога
"<?xml version="1.0" encoding="UTF-8" ?>"
так ошибка наоборот - есть данные перед прологом, а их не должно быть.
Прочитал где-то про какой-то BOM ... подозреваю проблема в этом, но так и не понял как это победить.


Цитата:
Igor_NP Не настолько понимаю код 1С чтобы правильно объяснить что тут делается, работает и хорошо, не трогаю.
Такая же история.)))
Файл у меня получается такой же как у вас.
Просто добавил код с DOM и всё заработало.
Механизм построения XML сделал такой

Код:
ТекстЗапроса = Новый ТекстовыйДокумент();  
	ТекстЗапроса.Очистить();
	ТекстЗапроса.ДобавитьСтроку("<?xml version=""1.0"" encoding=""UTF-8""?>
                                 |<ns:Documents xmlns:ns=""http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01""
                                 |    xmlns:qp=""http://fsrar.ru/WEGAIS/QueryParameters""
                                 |    xmlns:xs=""http://www.w3.org/2001/XMLSchema""
                                 |    xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
                                 |  <ns:Owner>");
	ТекстЗапроса.ДобавитьСтроку("<ns:FSRAR_ID>" + Строка(ОрганизацияЕГАИС.Код) + "</ns:FSRAR_ID>");  
	ТекстЗапроса.ДобавитьСтроку("</ns:Owner>
                                 |  <ns:Document>
                                 |    <ns:QueryRestBCode>
                                 |      <qp:Parameters>
                                 |        <qp:Parameter>
                                 |          <qp:Name>ФОРМА2</qp:Name>");	
	ТекстЗапроса.ДобавитьСтроку("<qp:Value>" + Строка(Справка2) + "</qp:Value>");
	ТекстЗапроса.ДобавитьСтроку("        </qp:Parameter>
                                 |	<qp:Parameter>
                                 |	 <qp:Name>ОБЩЕПИТ</qp:Name>
                                 |	 <qp:Value>true</qp:Value>
                                 |	</qp:Parameter>
                                 |      </qp:Parameters>
                                 |    </ns:QueryRestBCode>
                                 |  </ns:Document>
                                 |</ns:Documents>");
	
	Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
	ИмяФайлаДляЗагрузки = "C:\1C_exchange\" + "QueryRestBCode.xml";
	ИмяФайлаОтвета = "C:\1C_exchange\" + "answer.xml";
	ТекстЗапроса.Записать(ИмяФайлаДляЗагрузки, КодировкаТекста.UTF8, Символы.ВК + Символы.ПС);
	
	ПостроительDOM = Новый ПостроительDOM;
Дальше как у вас.

В принципе в плане сделать формирование запросов в отдельной папке допустим по документу остатков и потом регламентом отправлять запросы каждые 35 минут, а ответы складывать в другую папку. Ну это такое ... предварительные мысли.

Правка: FerroPanda, 13.01.2025 13:26