|
Как преобразовать строку (ответ от веб сервиса) в формат xml ? | ☑ | ||
---|---|---|---|---|
0
Radion
13.10.15
✎
18:09
|
ВебСервис= WSСсылки.WSСсылка_PonyExpress.СоздатьWSПрокси("http://tempuri.org/","UI_WebService","BasicHttpBinding_IUI_Service");
Значение = ВебСервис.SubmitRequest(ПарольДоступа,ДанныеXML); ЧтениеXML = Новый ЧтениеXML(); ЧтениеXML.УстановитьСтроку(Значение); Если ВозможностьЧтенияXML(ЧтениеXML) Тогда Данные = ПрочитатьXML(ЧтениеXML); Данные.Записать(); КонецЕсли; Но чет возможности чтения нет ( |
|||
1
Radion
13.10.15
✎
18:16
|
ВозможностьЧтенияXML(ЧтениеXML) = ЛОЖЬ
|
|||
2
Apokalipsec
13.10.15
✎
18:16
|
Так тебе записьXML нужна, тебе в ответ обычная строка прилетает если, а не XMLка, и ты эту строку собираешься в XML писать
|
|||
3
Radion
13.10.15
✎
18:24
|
(1) точно сорри, все делаю для того чтобы прочитать ответ, через объект XDTO.
т.е. вместо: Данные = ПрочитатьXML(ЧтениеXML); Данные.Записать(); будет строка: ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML); |
|||
4
Горогуля
13.10.15
✎
18:26
|
и сразу появится ВозможностьЧтенияXML, ага
|
|||
5
Radion
13.10.15
✎
18:29
|
(4) предварительно записывать файл, а потом его читать как то не айс (((
|
|||
6
Radion
13.10.15
✎
19:34
|
1С (8.2.19.106) не может прочитать ответ от веб сервиса
подобная ситуация. Может кто решил или подскажет? Спасибо. |
|||
7
D_Pavel
13.10.15
✎
20:08
|
А что находится в строке "Значение"? Там не XML ведь?
|
|||
8
Radion
13.10.15
✎
22:16
|
(7) нет. веб сервис возвращает строку со структурой xml файла
|
|||
9
Записьдампа
13.10.15
✎
22:47
|
(0) Строку-то возвращаемую покажи. Есть подозрение, что тебя спасет
ЧтениеXML.ПерейтиКСодержимому(); |
|||
10
Записьдампа
13.10.15
✎
22:49
|
И может быть ты пытаешься читать тип, про который ФабрикаXDTO вообще не в курсе.
Или надо использовать фабрику сервиса... |
|||
11
EvgeniuXP
13.10.15
✎
23:41
|
на курсы - мобильные приложения - проложите дорогу...
|
|||
13
Radion
14.10.15
✎
12:22
|
(9) веб сервис возвращает, вот такую строку:
<?xml version="1.0" encoding="utf-8"?> <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OrderList> <Order> <ClientsNumber>G1161284</ClientsNumber> <ServiceList /> <StatusList /> <ConsolidationList /> <ExternalDataList /> </Order> </OrderList> <MessageList> <ResponceMessage> <IsError>false</IsError> <Text>Order orderIdentifier G1161284 not found! The order has been skipped.</Text> </ResponceMessage> </MessageList> </Response> |
|||
14
Radion
14.10.15
✎
12:26
|
(10) я хочу, реализовать следующее:
ОтветВебСервиса=ВебСервис.SubmitRequest(ПарольДоступа,ДанныеXML); Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл(ОтветВебСервиса); ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(Чтение); ОбъектXDTO_OrderHeader= ОбъектXDTO.OrderHeader; Чтобы с помощью ОбъектXDTO, обращаться к атрибутам файла через точку, а не читать xml файл в цикле. Спасибо. |
|||
15
Записьдампа
14.10.15
✎
21:44
|
(14) Не могу воспрепятствовать:
ОтветВебСервиса =
Для точной типизации внутренних данных нужна схема. Возможно эти данные описаны в фабрике веб-сервиса, посмотри, что у тебя ВебСервис.ФабрикаXTDO описывает. А про ВозможностьЧтенияXML забудь, оно начнет работать, если у тебя будут известны фабрика, пространство имен и имя типа. Уверен, что ты про них ничего не расскажешь. |
|||
16
Radion
16.10.15
✎
11:48
|
(15) Спасибо Большое! )
|
|||
17
Radion
16.10.15
✎
11:55
|
(15) сорри, а как тогда получается, что к примеру у меня есть сторонние файлы xml, и я их могу сериализовать через XDTO ? Я также не знаю ни схему, ни пространство имен ни типов? Просто три строки, работает:
Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл(Путь/+Файл); ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(Чтение); Спасибо. |
|||
18
Serginio1
16.10.15
✎
12:14
|
(17) Они читаются как AnyType и все значения строковые
|
|||
19
Serginio1
16.10.15
✎
12:15
|
18+ Кроме того списки с 1 элементом будут как элемент, а не список
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |