Формирование xml текста
☑
0
zippygrill
24.12.15
✎
10:04
Привет!
Формирую запрос остатков для УТМ. В документации есть 2 тэга(именно QueryRests)
<ns:Document>
<ns:QueryRests></ns:QueryRests>
</ns:Document>
и никак не получается через ЗаписьXML получить эти 2 тэга...
Пишу
ЗаписьXML.ЗаписатьНачалоЭлемента("ns:Document");
ЗаписьXML.ЗаписатьНачалоЭлемента("ns:QueryRests");
ЗаписьXML.ЗаписатьКонецЭлемента();//QueryRests
ЗаписьXML.ЗаписатьКонецЭлемента();//Document
в итоге выходит так
<ns:Document>
<ns:QueryRests/>
</ns:Document>
Через текстовый документ не хочется писать..
1
mikecool
24.12.15
✎
10:05
емнип - это нормальная запись
2
zippygrill
24.12.15
✎
10:06
(1) так УТМ её схавает?))
3
Рэйв
24.12.15
✎
10:06
(2)Это стандарт пустого тега
4
Рэйв
24.12.15
✎
10:07
(2)поставь там хоть полбел чтоли в значении - тогда закроет по человечески
5
Рэйв
24.12.15
✎
10:07
*пробел
6
zippygrill
24.12.15
✎
10:08
окей. спс
7
IVT_2009
24.12.15
✎
10:26
&наСервере
функция создатьЗапросНаОстатки() ЭКСПОРТ
стр = "<?xml version=""1.0"" encoding=""UTF-8""?>
|<ns:Documents Version=""1.0""
|xmlns:xsi="";
|xmlns:ns="";
|xmlns:qp="";
|<ns:Owner>
| <ns:FSRAR_ID>[рарИД]</ns:FSRAR_ID>
|</ns:Owner>
|<ns:Document>
| <ns:QueryRests></ns:QueryRests>
|</ns:Document>
|</ns:Documents>";
стр = стрЗаменить(стр,"[рарИД]" ,константы.текущийТранспорт.Получить().код);
ФайлОтвета = ПолучитьИмяВременногоФайла("xml");
boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");
стрЗапроса = "--"+boundary+"
|Content-Disposition: form-data; name=""xml_file""; filename=""client_2624022231.xml""
|Content-Type: text/xml
|
|"+стр+символы.ПС+
"--"+boundary+"--";
Заголовки = Новый Соответствие();
Заголовки.Вставить("Content-Type" , "multipart/form-data; boundary= "+boundary);
Заголовки.Вставить("User-Agent" , "curl");
Заголовки.Вставить("Accept" , "application/xml");
Заголовки.Вставить("Content-Length" , стрДлина(стрЗапроса));
ОтправкаЗапроса = новый HTTPСоединение(константы.текущийТранспорт.Получить().адресСервера);
НовыйЗапрос = новый HTTPЗапрос("/opt/in/QueryRests",Заголовки);
новыйЗапрос.УстановитьТелоИзСтроки(стрЗапроса,КодировкаТекста.UTF8,ИспользованиеByteOrderMark.НеИспользовать);
Результат = ОтправкаЗапроса.ОтправитьДляОбработки(НовыйЗапрос,ФайлОтвета);
ЧтениеОтвета = Новый текстовыйДокумент;
ЧтениеОтвета.прочитать(Результат.ПолучитьИмяФайлаТела());
возврат ЧтениеОтвета.ПолучитьТекст();
конецФункции //функция создатьЗапросНаОстатки() ЭКСПОРТ
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший